c语言四舍五入,保留两位小数输出结果不对

a1352814264 2011-11-02 11:07:45
#include<stdio.h>
main()
{
double a,b;
printf("请输入一个数字:");
scanf("%f",&a);
b=(int)(a*100+0.5)/100;
printf("%6.2f",b);
}
...全文
431 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
vanguards 2011-11-03
  • 打赏
  • 举报
回复
楼上都说了,就是scanf("%f",&a);
的问题,输入格式不对,导致无法正确输入,所以结果错误,做四舍五入的地方没错
a1352814264 2011-11-03
  • 打赏
  • 举报
回复
多谢各位大哥的指点
小类人猿 2011-11-02
  • 打赏
  • 举报
回复
楼主你的代码我改了一下,你看看把
#include<stdio.h>
main()
{
double a,b;
printf("请输入一个数字:");
scanf("%lf",&a);
b=((int)(a*100+0.5))/100.0;
printf("%6.2lf\n",b);
}
上善者若水8 2011-11-02
  • 打赏
  • 举报
回复
#include<stdio.h>
main()
{
double a,b;
printf("请输入一个数字:");
scanf("%lf",&a);
b=(int)(a*100+0.5)/100;
printf("%6.2lf",b);
}

因为是double型的要用lf

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧