你输入'65'错误是因为,''里面表示的是单个字符,而这里有两个字符的。要想这样写,必须写成'\65'.第四位四舍五入number=(number*1000+0.5)/1000;保留三位有效数字:printf("四舍五入后为:%.3f\n",number);
#include<stdio.h>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,要是多打印几个小数,那么也会出现一个近似的值如float a=7.9;printf("%.6f",a);得到的结果可能是7.899999所以准确的做法是变成字符串,这样最精确,呵呵