c语言问题:零钱换整钱 帮忙改一下,谢谢!!

小明手中有一堆硬币,小红手中有若干张10元的整钱。已知 1 角的硬币厚度为 1.8mm,5 角的硬币厚 1.5mm, 1 元的硬币为 2.0mm 。小明和小红一起玩游戏,小红拿出若干张10元的纸币,小明要将 1 角的硬币放成一摞,将 5 角的硬币硬币放成一摞,将 1 元的硬币放成一摞,如果 3 摞硬币一样高,并且金额能够正好小红要求的面值,则双方可以进行交换,否则没有办法交换。
#include <stdio.h>
int main()
{
int a,b,c,n,m=0;
scanf("%d",&n);
for (a=1;a<n*100;a++)
{
for(b=1;b<n*20;b++)
{
for(c=1;c<n*10;c++)
{
if ((a*0.1+b*0.5+c==n*10)&&((18*a==15*b)&&(15*b==20*c)))
{
printf("%d,%d,%d\n",a,b,c);
m++;
break;
}
}
}
}
if(m==0)
printf("No change.\n");
return 0;
}

你的程序没有问题。输入8、16试试。
另外,最好把a*0.1+b*0.5+c==n*10改成a+b*5+c*10===n*100
反正我是这么改了。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-03-27
a*0.1+b*0.5+c==n*10改成
a+b*5+c*10==n*100就好了....
相似回答