c语言程序题来个大神帮忙下

用一张百元纸币兑换一元、二元和五元的纸币,要求兑换后纸币的总数为50 张,问共有多少种换法? 每种换法中各面值的纸币分别为多少张?求大神给个c的程序,急用 strong text

这是百钱百鸡的问题,代码参考 百钱买百鸡问题(C语言版)

说简单一些,就是要求二元和五元的和小于 100 时的张数,小于等于 50 就行了。

这个题就是用穷举法。C语言中一般用循环来做。

参考白钱百鸡的算吗,解决你的问题了吗?
上面的答案有帮助吗?如果还有问题,请提出来,如果对答案满意,请顶一下,并标记为采纳答案,谢谢!

int x, y, z, findNum=0;
//t=x+2*y+5*z, let t=100, find x,y and z.

for ( x = 0; x < 100; x++)
{
for ( y = 0; y < 100; y++)
{
for ( z = 0; z < 100; z++)
{
if ( 100==(x+2*y+5*z) )
{
findNum++;
printf("%d: x=%d y=%d z=%d\n", findNum, x, y, z);
}
}
}
}

穷举就可以了
for (int i = 0; i <= 100; i++)
for (int j = 0; j <= 50; j++)
for (int k = 0; j <= 20; j++)
{
if (i + j + k == 50 && i + j * 2 + k * 5 == 100) cout << i << j << k;
}