你输入'65'错误是因为,''里面表示的是单个字符,而这里有两个字符的。
要想这样写,必须写成'\65'.
第四位四舍五入
number=(number*1000+0.5)/1000;
保留三位有效数字:
printf("四舍五入后为:%.3f\n",number);
#include
int main()
{
float number=0.0;
printf(" 输入一个含万分位的小数:");
scanf("%f",&number);
number=(number*1000+0.5)/1000;
printf("四舍五入后为:%.3f\n",number);
return 0;
}
单个字符错误的形式:'65' 65里面有两个字符了 6和5.
乘1000
加0.5取整
再除1000
大部分小数不能精确存储,这个你应该知道
所以讨论四舍五入不太现实,即使乘以1000加上0.5再除以1000,要是多打印几个小数,那么也会出现一个近似的值
如
float a=7.9;
printf("%.6f",a);
得到的结果可能是7.899999
所以准确的做法是变成字符串,这样最精确,呵呵