首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

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

2012-06-22 
c语言四舍五入,保留两位小数输出结果不对#includestdio.hmain(){double a,bprintf(请输入一个数字:)

c语言四舍五入,保留两位小数输出结果不对
#include<stdio.h>
main()
{
double a,b;
printf("请输入一个数字:");
scanf("%f",a); 
b=(int)(a*100+0.5)/100; 
printf("%6.2f",b);
}


[解决办法]
楼主scanf("%f",a); 写错啦,应该是scanf("%f",&a); 而且楼主你把double转换成int的,int的数据不是四舍五入,而是舍弃小数后面的
[解决办法]
楼主看一下我改正后的

C/C++ code
#include<stdio.h>main(){double a,b;printf("请输入一个数字:");scanf("%lf",&a);  b=((int)(a*100+0.5))/100.0;  printf("%6.2lf\n",b);}
[解决办法]
%f 在 scanf()和 printf() 中的类型不同
[解决办法]
探讨
楼主看一下我改正后的

C/C++ code

#include<stdio.h>
main()
{
double a,b;
printf("请输入一个数字:");
scanf("%lf",&amp;a);
b=((int)(a*100+0.5))/100.0;
printf("%6.2lf\n",b);
}

热点排行