大数据时,采用long、float、double数据类型的区别?
#include<stdio.h>
main()
{
int i;
//long profit;
//float bonus;
double profit,bonus;//为何采用这种数据类型时得不到所要的结果(VC6系统)
printf("输入利润:");
scanf("%ld",&profit);
i=(profit-1)/100000;
if(profit>=1000000)
i=10;
switch(i)
{
case 0 : bonus=profit*0.1;break;
case 1 : bonus=100000*0.1+(profit-100000)*0.075;break;
case 2 :
case 3 : bonus=100000*0.1+100000*0.075+(profit-200000)*0.05;break;
case 4 :
case 5 : bonus=100000*0.1+100000*0.075+200000*0.05+(profit-400000)*0.03;break;
case 6 :
case 7 :
case 8 :
case 9 : bonus=100000*0.1+100000*0.075+200000*0.05+200000*0.03+(profit-600000)*0.015;break;
default: bonus=100000*0.1+100000*0.075+200000*0.05+200000*0.03+400000*0.015+(profit-1000000)*0.01;
}
printf("应发奖金总数为:%.2f\n\n",bonus);
}
问题点数:10、回复次数:5Top
1 楼chenhu_doc(^0^纯一狼^0^ 看书看到大笑,直到不能自已)回复于 2006-05-04 15:56:14 得分 0
用double得不到lz想要的内容???
用float可以??
搞错了吧·Top
2 楼chenhu_doc(^0^纯一狼^0^ 看书看到大笑,直到不能自已)回复于 2006-05-04 16:05:42 得分 9
scanf("%ld",&profit);-----> scanf("%lf",&profit);Top
3 楼chenhu_doc(^0^纯一狼^0^ 看书看到大笑,直到不能自已)回复于 2006-05-04 16:06:30 得分 0
scanf("%ld",&profit);//这个并不是lz想要的 long double 的缩写。。。。
而是scanf("%lf",&profit);Top
4 楼f_acme(沧海一声笑)回复于 2006-05-04 16:15:01 得分 1
呵呵,我还以为float比double还好,原来是楼主读数据弄错了。Top
5 楼niatclock(豆豆雅)回复于 2006-05-04 16:25:45 得分 0
原来double数据类型得采用"%lf”读入,而采用"%f"则得不到所要得结果Top




