在用floor(XXX+0.5)做四舍五入时候发生的问题
来源:互联网 发布:serverlet接受表单数据 编辑:程序博客网 时间:2024/06/05 23:52
在做C++primer第五版,第3.20题.
读入一组整数并把他们存入一个vector对象,要求输出 第一个和最后 一个元素 的和,接着输出第二个和倒数第二个元素的和,依此类推。
代码如下:
#include "iostream"#include "vector"#include "cmath"using std::vector;using std::cin;using std::cout;using std::endl;int main(){vector <int> ivec;ivec ={12,11,32,43,34,32,53};int length=ivec.size();//注意此处length本身是int,在做length/2时候就已经是3了,所以 在加0.5也就是3.5//依然会被 for(decltype(length) j=0;j<floor(length/2.0+0.5);j++){if(j!=(length-1-j))cout <<ivec[j]+ivec[length-1-j] <<endl;elsecout <<ivec[j] <<endl;} return 0;}
在开始写的时候,for循环里面写的是j<floor(length/2+0.5),改正后发现是最基本的类型错误,声明 的length为int类型(注意ivec,size()返回的类型为vector<int>::size_type属性),length在除以2时已经取整数为3了,所以后面即使加上0.5也还只是3.5,不能进位,在使用 floor(XXX+0.5)这样的操作时,应该确保XXX处表达式的有效性.
0 0
- 在用floor(XXX+0.5)做四舍五入时候发生的问题
- 在启动lifrRay时候发生的问题及解决
- 在做统计图时候遇见的问题
- Arcmap 空间连接,在通过面包含面的空间关系做属性关联的时候,发生关联冗余的问题。
- ASP.NET的MEMBERSHIP问题:你在用WEBPART, 登陆控件的时候,可能会发生的数据库连接错误。
- 在做App上线打包的时候遇到的问题
- combox在做级联的时候遇到加载问题
- android 打包 apk的时候发生"xxx" is not translated in "zh" 的解决方法
- 美图笔试题;浏览器访问XXX.com的时候发生了什么过程
- 在coldfusion9下用round和numberformat做四舍五入不可靠
- 用div做页面的时候遇到的问题
- 未知的事情,发生在未知的时候
- 对象在创建的时候都发生了什么?
- 面试题:java GC发生在会么时候,对什么东西,做了什么事情
- 如果用append插入1亿行,回滚的时候会发生什么问题?
- 伤心的时候,你在做什么?
- OpenEIM以前在合作伙伴做的时候
- 在做GridView删除单条数据的时候,遇到的问题
- You must specifiy a layout in the include tag: <include layout="@layout/layoutID" />
- 精炼的Java线程Sleep,yield,wait,notify,Synchronized
- POJ-2492(并查集问题)
- Experimental Educational Round: VolBIT Formulas Blitz(数学、组合数学)
- mac上Unix时间戳的使用
- 在用floor(XXX+0.5)做四舍五入时候发生的问题
- 解决double的精度问题-BigDecimal
- java中 本地方法 Native Method
- Xcode 7 error: “Missing iOS Distribution signing identity for …”
- animate实现与slideToggle()相似效果的左右方向折叠
- Java操作Hbase进行建表、删表以及对数据进行增删改查,条件查询
- iOS应用程序多语言本地化解决方案
- 33. iOS 常用的项目目录结构
- 监听UITextField键盘删除按钮事件