C实现的超市收款程序,但总是少收一分钱,什么原因啊?这样下去要赔死的。。。
大牛给看下题目要求如上,源程序如下:
float money;
int n0,n1,n2,n3,n4,n5,n6,n7,n8,n9,n10; //分别表示要收100 50 20 10 5 2 1 0.5 0.1 0.05 0.01的张数
printf("input the totalmoney :");
scanf("%f",&money);
if
((int)money/100>=0)
{
n0=(int)money/100;
}
else{
printf("input error");
}
n1=(money-n0*100)/50;
n2=(money-n0*100-n1*50)/20;
n3=(money-n0*100-n1*50-n2*20)/10;
n4=(money-n0*100-n1*50-n2*20-n3*10)/5;
n5=(money-n0*100-n1*50-n2*20-n3*10-n4*5)/2;
n6=(money-n0*100-n1*50-n2*20-n3*10-n4*5-n5*2)/1;
n7=(money-n0*100-n1*50-n2*20-n3*10-n4*5-n5*2-n6)/0.5;
n8=(money-n0*100-n1*50-n2*20-n3*10-n4*5-n5*2-n6-n7*0.5)/0.1;
n9=(money-n0*100-n1*50-n2*20-n3*10-n4*5-n5*2-n6-n7*0.5-n8*0.1)/0.05;
n10=(money-n0*100-n1*50-n2*20-n3*10-n4*5-n5*2-n6-n7*0.5-n8*0.1-n9*0.05)/0.01;
printf("We need %d张100元 %d张50元 %d张20元 %d张10元 %d张5元 %d张2元 %d张1元 %d张5角 %d张1角 %d张5分 %d张1分\n",n0,n1,n2,n3,n4,n5,n6,n7,n8,n9,n10);