设有定义floatx=3.567,y;,则赋值使y为3.6的语句是:
A) y= (int)(10*x+0.5)/10.0;
B) y= (int)(10*x)/10.0;
C) y= (int)(10*x)/10.0+0.5;
D) y= (%3.lf) х;
为什么是A,求解析
设有定义floatx=3.567,y;,则赋值使y为3.6的语句是:
A) y= (int)(10*x+0.5)/10.0;
B) y= (int)(10*x)/10.0;
C) y= (int)(10*x)/10.0+0.5;
D) y= (%3.lf) х;
为什么是A,求解析
收起
A是解决四舍五入的方法
10 * x+0.5之后是36.17,取整以后是36,除以10.0后是3.6
B。 10 * x是35.67,取整后是35,除以10.0后是3.5
C。前半部分和B一样,得到3.5,加上0.5后是4.0
D。放在printf中是可以的,但赋值的话语法不支持
报告相同问题?