编程:换零钱。把一元钱全兑换成1分2分5分硬币,有多少种兑换方法?包括全1分或者全5分

2024-10-31 13:30:57
推荐回答(3个)
回答1:

这程序很好写,不过关键是看算法设计得怎么样,是不是最优的。我只写一个最简单的,自己尝试优化下,这也是编程的乐趣之一。

int fCent; //5分个数
int tCent; //2分个数
int oCent; //1分个数
int count=0; //兑换方法个数
for(fCent=0;fCent<=20;fCent++)
{
for (tCent=0;tCent<=50;tCent++)
{
oCent=100-5*fCent-2*tCent;
if(oCent>=0) count++;
}
}

把上面程序放到main中就可以了,你想要的输出就是count的值。还有看你说的题意,是否2分的不能是0个,如果有这个要求第二个for循环,也就是tCent 从1开始就可以了。
自己再去优化吧。

回答2:

是那个屏幕显示不了。。。
控制台的那个屏幕貌似只能显示300行吧?

回答3:

printf里面的""要用英文符号,第一个for循环后要加{
#include"stdafx.h"
int main()
{
int i,j,k,n;
n=100,k=0;
for(i=0;i<=n/5;i++)
{
for(j=0;j<=(n-i*5)/2;j++)
{
printf("5 cent=%d,2 cent=%d,1 cent=%d\n",i,j,n-i*5-j*2);
k++;
}
}
printf("total times=%d\n",k);
return 0;
}