如何完成C语言中的四舍五入?

想完成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)时,后面的结果也会正确