c语言兑换钱币问题对于给定的人民币金额n(分),问有多少种方案将其兑换成1分、2分、5分,n<10000

#include<stdio.h>
int main()
{
int a,b,c,n=1,i=0;
double k=0;
while(scanf("%d",&n)!=EOF){

i++;
for(a=0;a<=n/5;a++)
for(b=0;b<=n/2;b++)
for(c=0;c<=n;c++)
{
if(c+2*b+5*a==n)
k++;
}
printf("Case %d:%d,%.0lf\n",i,n,k);
k=0;
}
return 0;
}
这个总是超时求改错

#include<stdio.h>
int main()
{
int a,b,c,n=1,i=0;
double k=0;
while(scanf("%d",&n)!=EOF){

i++;
for(a=0;a<=n/5;a++)
for(b=0;b<=(n-5*a)/2;b++)//减去已经分配给5分的钱数
for(c=0;c<=n-5*a-2*b;c++)//减去已经分给5分和2分的钱数
{
if(c+2*b+5*a==n)
k++;
}
printf("Case %d:%d,%.0lf\n",i,n,k);
k=0;
}
return 0;
}

温馨提示:答案为网友推荐,仅供参考
相似回答