C++:设变量f为float型,将小数点后第3位四舍五入,保留小数点后两位的表达式为A(f*100+0.5)/100B(f*100+0.5)/100.0C(int)(f*100+0.5)/100.0D(int)(f*100+0.5)/100

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/06 20:36:26
C++:设变量f为float型,将小数点后第3位四舍五入,保留小数点后两位的表达式为A(f*100+0.5)/100B(f*100+0.5)/100.0C(int)(f*100+0.5)/100.0D(int)(f*100+0.5)/100

C++:设变量f为float型,将小数点后第3位四舍五入,保留小数点后两位的表达式为A(f*100+0.5)/100B(f*100+0.5)/100.0C(int)(f*100+0.5)/100.0D(int)(f*100+0.5)/100
C++:设变量f为float型,将小数点后第3位四舍五入,保留小数点后两位的表达式为
A(f*100+0.5)/100
B(f*100+0.5)/100.0
C(int)(f*100+0.5)/100.0
D(int)(f*100+0.5)/100

C++:设变量f为float型,将小数点后第3位四舍五入,保留小数点后两位的表达式为A(f*100+0.5)/100B(f*100+0.5)/100.0C(int)(f*100+0.5)/100.0D(int)(f*100+0.5)/100
C
(f*100+0.5)得到的是放大100倍的一个小数,且如果千分位上大于等于5将自动在个位数加1
这样只要取得这个小数的整数部分就可以实现将小数点后第3位四舍五入,保留小数点后两位的
所以:
(int)(f*100+0.5)是得到小数的的整数部分,(int)(f*100+0.5)/100.0是得到原来大小的小数
其中A D得到的结果都是一个整数,不符合题意,B没有对(f*100+0.5)取整数,得到的小数是错误的