请高手帮忙,这个程序减法怎么不对呢?还是这个问题,没有解决呀
请高手帮忙,这个程序减法怎么不对呢?程序要求是输入一个数,可以分成几个50,几个20等等。问题是到小数时总不对,请帮忙吧,急死了。。。。。比如输入20.9,结果应该是20 1个,0.5 1个,0.2 2个,0.1 1个。但是结果总是0.2 1个。多谢各位了。
void main()
{
int coinsInt[6]={50,20,10,5,2,1};
float coinsF[3]={0.5,0.2,0.1};
int num;
int j,k;
float sum;
scanf("%f",&sum);
for(j=0;j<=5;j++){
num=sum/coinsInt[j];
if (num!=0)
printf("$%d %d\n",coinsInt[j],num);
sum-=num*coinsInt[j];
if(sum<1){
for(k=0;k<=2;k++){
num=sum/coinsF[k];
if (num!=0)
printf("$%.1f %d\n",coinsF[k],num);
sum-=num*coinsF[k];
}
}
}
}
高手给回复了,但是还是不对呀,急切等待中。。。。