设变量n为float型,m为int类型,则以下能实现将n中的数值保留小数点后两位,第三位四舍五入运算的表达式是(B)
A.n=(n*100+0.5)/100.0
B.m=n*100+0.5,n=m/100.0
C.n=n*100+0.5/100.0
D.n=(n/100+0.5)*100.0
为什么这题是选B啊,
人气:168 ℃ 时间:2020-05-17 10:16:25
解答
因为B是正确的.n是浮点数,乘100+0.5后,若原先小数第三位>=5,则+0.5后就向前进位了;否则不进位,赋给整型m后,小数部分丢弃,达到了四舍五入的目的;再除以100是恢复原数的大小.
比如:
n=3.1415→m=n*100+0.5=314.15+0.5=314.65→314.n=314/100.0=3.14.这是不进位的情况;
n=3.1455→m=n*100+0.5=314.55+0.5=315.05→315.n=315/100.0=3.15.这是有进位的情况.
选项A能四舍五入,但不能保留2位小数;
选项C操作的不是小数后第三位而是第五位了;
选项D操作的不是小数后而是操作到小数点前面去了……
推荐
- C++:设变量f为float型,将小数点后第3位四舍五入,保留小数点后两位的表达式为
- 设变量x为float型且已赋值,则以下语句能将x中的数值保留到小数点后两位,并将第3位四舍五入的是?
- C语言 设变量x为float型且已经赋值,则以下语句中能够将x中的数值保留到小数点后面2位,并将第3位四舍五入
- 设n为float型,m为int型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五入的表达式是_____.
- 设变量x为float型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是
- 是you is a……还是you are a……?
- "I want to talk to the boys.Their home work have not been harded in"改为定语从句怎么改
- 甲乙两地相距760千米 客车和货车同时从两地出发 相向而行 8小时相遇 货车的速度是客车的十分之九 客车每小时行几千米
猜你喜欢