求大神!用C语言编程。最好有注释。100元人民币,换成一元、五角、一角、五分,请问有几种换法?

求大神将每个步骤分析一下,最好能让我这初学者看懂。谢谢。

以下是c语言代码(含注释),兑换方案有3,418,951种:

#include <stdio.h>

void main()//主函数 

 int wuFen=0;//5分硬币的数量 

 int yiJiao=0;//1角硬币的数量 

 int wuJiao=0;//5角硬币的数量 

 int yiYuan=0;//1元硬币的数量 

 int count=0;//记录兑换方案次数 

 

 //内嵌四次循环,分析每种兑换情况(即计算每种硬币的数量的组合)

 for(wuFen=0;wuFen<=100*100/5;wuFen++)

 for(yiJiao=0;yiJiao<=100*100/10;yiJiao++)

 for(wuJiao=0;wuJiao<=100*100/50;wuJiao++)

 for(yiYuan=0;yiYuan<=100*100/100;yiYuan++)

 //如果四种硬币总数量等于100元即10000分

 if(wuFen*5+yiJiao*10+wuJiao*50+yiYuan*100==100*100)

 {

  //累增兑换方案次数,输出每种兑换结果 

  count++;

  printf("100元可以兑换成%d个5分硬币和%d个1角硬币和%d个5角硬币和%d个1元硬币\n",wuFen,yiJiao,wuJiao,yiYuan);

 } 

 printf("兑换方案共有%d种。\n",count);//输出兑换方案次数


 

 

以下是程序运行结果(部分):

 

 

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-09-21
#include<stdio.h>
#include<math.h>
main()
{

int i;
int j;
int k;
int y;
int count;
count=0;
for(i=0;i<=100;i++)
for(j=0:j<=200;i++)
for(k=0;k<=1000;k++)
for(y=0;y<=2000;y++)
{ if(i+0.5*j+0.1*k+0.05y==100)
count++; }

printf("The number is %d\n",count);
}
第2个回答  2012-09-22
要是你给一百元的话,我考虑考虑……自己不会思考啊!不行的话,去问零售店老板