想完成C语言中的四舍五入
但测试结果为下图
不知道哪里出了问题,想请教请教,感谢。
c是浮点数,后面的c应该写(int)c
%0.1f
%0.2f
换成
%.1f
%.2f
```#include <stdio.h>
int main(){
float a,b,c,d,e;
printf("Please input the float number:\n");
scanf_s("%f", &a);
//printf("%f\n",a);
c = (int)a + 0.5;
d = (int)(a*10 + 0.5)/10.0;
e = (int)(a*100 + 0.5)/100.0;
printf("c = %d\nd = %0.1f\ne = %0.2f",(int)c,d,e);
}
你试试这个,楼上说的对,楼主定义的c是浮点型,如果直接输出整型则会出现错误!因此需要使用printf("%d",int(c));
当使用int(c)时,后面的结果也会正确