怎么用C语言求把100元换成20元,10元,5元的纸币.要求每种纸币至少有一张。 c语言两张100纸币,换成10元,5元和1元纸币每样至少一张...

作者&投稿:项甄 (若有异议请与网页底部的电邮联系)

#include<stdio.h> 

int main() 

{int a,b,c,n=0;

printf("20元10元5元
");

for(a=1;a<5;a++)

for(b=1;b<(100-20*a)/10;b++)

{c=(100-20*a-10*b)/5;

printf("%2d%2d%2d
",a,b,c);

n++;

}

printf("共%d种方案
",n);  

return 0;



因为要求每种纸币至少有一张,可以先减轻去固定的35元再循环,减少计算量。
#include<stdio.h>
void main()
{
int i,j,k;
for(i=0;i<=13;i++)
for(j=0;j<=6;j++)
for(k=0;k<4;k++)
{
if(5*i+10*j+20*k==65)
printf("5:%d,10:%d,20:%d\n",i+1,j+1,k+1);
}
}

循环遍历计算就可以了。
设20,10,5 的张数 n20,n10,n5,
至少有一张,n20,n10,n5 循环初值从 1 起
如果 n20 * 20 + n10 * 10 + n5 * 5 == 100 则为 一种 解。
打印所有组合.

#include <stdio.h>
#include <stdlib.h>
void main(void)
{
int n5,n10,n20;
for (n5=1;n5<20;n5++){
for (n10=1;n10<10;n10++){
for (n20=1;n20<5;n20++){
if (n5 * 5 + n10 * 10 + n20 * 20 == 100)
printf("$5--%d, $10--%d, $20--%d\n",n5,n10,n20);
}
}
}
}

/* 标准文档模板 */

#include "Stdio.h"
#include "Conio.h"

int main(void)
{
int a=100,b=20,c=10,d=5,e=0,f=0,g=0;
while(a!=0)
{

if(e==0&&f==0&&g==0)
{
a=a-20-10-5;
e++;f++;g++;
}
if(a>=20)
{
e++;
a=a-20;

}

if(a>=10&&a<20)
{
f++;
a=a-10;

}
if(a>=5&&a<10)
{
g++;
a=a-5;
}

}
printf("20: %d 10: %d 5: %d ",e,f,g) ;
getch();
return 0;
}

用5元,10元,20元三张纸币可以组成多少种不同的纸币?~

有5元、20元、10元的纸币各一张,可以组成4种不同的币值的纸币。
第一种:5元+20元+10元=35元
第二种:20元+10元=30元
第三种:5元+10元=15元
第四种:5元+20元=25元;
结合以上,答案是一共有4种不同的币值。

扩展资料:
此问题为组合问题,组合从n个不同的元素中,任取m(m≤n)个元素为一组,叫作从n个不同元素中取出m个元素的一个组合。
组合总数(total number of combinations)是一个正整数,指从n个不同元素里每次取出0个,1个,2个,…,n个不同元素的所有组合数的总和,即

n元集合的组合总数是它的子集的个数。从n个不同元素中每次取出m个不同元素而形成的组合数的性质是:
1、

2、

利用这两个性质,可化简组合数的计算及证明与组合数有关的问题。

#include
#include
void main(void)
{ int n5,n10,n20;
int m5,m10,m20;
int min,count=0
for (n5=0;n5<20;n5++)
{
for (n10=0;n10<10;n10++)
{
for (n20=0;n20<5;n20++)
{
if (n5 * 5 + n10 * 10 + n20 * 2 0 ==100)
{
if(count==0)
{
min=n5+n20+n10;
count++;
m5=n5;m10=n10;m20=n20;
}
else if(min>n5+n20+n10)
{
min=n5+n20+n10;
m5=n5;m10=n10;m20=n20;
}
}
printf("$5--%d, $10--%d, $20--%d
",n5,n10,n20);
}
}
}
}

求大神!用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;//记录兑换方案次数 //内嵌四次循环,分析每...

c语言编程,输入金额,输出并显示用100,50,20,10,5,1块钱 各需要多少张...
答:include <stdio.h>int main(){ int type[] = {100, 50, 20, 10, 5, 1}, nu = 6; int cash, i; scanf ("%d", &cash); for (i = 0; i < nu; ++i){ printf ("%d:%d\n", type[i], cash/type[i]); cash %= type[i]; } return 0;} 程...

用c语言将一笔钱(大于10元,小于100元)换算成1元,2元和5元的纸币组合...
答:include <stdio.h>int main(){ int n; int x,y,z; int num=0; printf("请输入金额:"); scanf("%d",&n); while(n<10 || n>100) { printf("请输入大于10元,小于100元的金额数:"); scanf("%d",&n); } for(x=0;x<=n;x++)for(y=0;...

c语言求过程
答:4.//发工资,钱的张数尽量少。include <stdio.h>int main(){int a,b,c,d,e,f;a=2187/100;b=2187%100/50;c=(2187-a*100-b*50)/20;d=(2187-a*100-b*50-c*20)/10;e=(2187-a*100-b*50-c*20-d*10)/5;f=2187-a*100-b*50-c*20-d*10-e*5;printf("100元%d张\n...

...元的纸币零都要有,请问有多少种兑换方法,用C语言
答:include<stdio.h>void main(){intn,a,b,c,i;i=0;for(a=0;a<=20;a++){for(b=0;b<=40;b++){for(c=0;c<=200;c++){if(10*a+5*b+c==200){i=i+1;printf("兑换方法%d:%d张10元的,%d张5元的,%d张1元的\n",i,a,b,c);}}} ...

c语言精确计算20!(提示:用数组元素存该数的一位或多位)
答:最简单最直接的大数计算 算法不是太高效 但好在简单 容易理解 include <stdio.h>int main(){int num[100] = {0};int i, j;int a,t;num[0] = 1;for(i = 2; i <= 20; i ++){a = t = 0;for(j = 0; j < 100; j ++){t = num[j]*i + a;num[j] = t%10;a=t...

c语言编程问题!
答:1.编程在一个已知字符串中查找最长单词,假定字符串中只含有字母和空格,空格用来分割不同单词!2.编写实现任意十进制数,转换成r进制数(r在2到16之间)3.从键盘输入一个金额(如345.78),然后显示支付该金额的各种人民币数量,要求显示100元,50元,10元,5元,2元,1元,1角,5分,1分各多少张。 展开 ...

把一元钱全兑换成1分,2分,5分的硬币,有多少种兑换方法?用C语言...
答:include<stdio.h> main(){ int i,j,k;int rmb=1000;int sum=0;for(i=1;;i++){ for(j=1;;j++){ for(k=1;;k++){ if((i+2*j+5*k)==1000)sum++;} } } printf("%d",sum);} 输入在一行中给出待换的零钱数额x∈(8,100)。要求按5分、2分和1分硬币的数量依次从大到小...

用C语言做“换零钱问题。将一元钱换成1分,2分或5分的零钱有多少种换法...
答:include "stdio.h"//穷举法 void main(){ int i,j,n,s=0;for(i=0;i<=20;i++) //5分最多换二十个 for(j=0;j<=50;j++) //2分最多换五十个 for(n=0;n<=100;n++) //1分可以换一百个 if( 5*i+2*j+1*n == 100){ printf("%d %d个 , %d %d个 , %d %d个...

C语言 发工资发2189元,用100 50 20 10 5 1换分别多少张。
答:include<stdio.h>int main(){ const int Quota[] = {100, 50, 20, 10, 5, 1}; int i, Money, iMax = sizeof(Quota)/sizeof(Quota[0]); scanf("%d", &Money); for(i = 0; i < iMax; i++) { printf("%d元%d张 ", Quota[i], Money / Quota[i]);...