醒着 睡着
2020-10-06 20:14
采纳率: 33.3%
浏览 101

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

想完成C语言中的四舍五入
图片说明

但测试结果为下图图片说明

不知道哪里出了问题,想请教请教,感谢。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • blownewbee 2020-10-06 23:21
    已采纳

    c是浮点数,后面的c应该写(int)c
    %0.1f
    %0.2f
    换成
    %.1f
    %.2f

    点赞 打赏 评论
  • 凉冰难消一腔热血 2020-10-07 12:12
    
    ```#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)时,后面的结果也会正确

    点赞 打赏 评论

相关推荐 更多相似问题