急求!一道C语言编程题答案,实在不会,拜托亲们帮帮忙~
3个回答
展开全部
解题思路:1元为100分,兑换5分庆中并硬币最多只能为20个,兑换2分的最多50个,培洞兑换1分的可以通过100-i*5-j*2计算得到。
具体算法如下:(VC 6.0测试过,Turbo C算法一样)
#include<stdio.h>
int main()
{
int i,j; // i为5分的个数,j为2分的个数,100-i*5-j*2为1分的个数
int count = 0; // 统计兑换的方法次数
for(i=0;i<=20;i++)
for(j=0;j<=50;j++)
if(i*5+j*2<=100)
{
count++;
printf("i=%2d j=%2d k=%3d count=%d\n",i,j,100-i*5-j*2,count); // 输出兑换方法及次数统计
}
printf("count = %d\誉迹n",count); // 输出总的方法次数
}
具体算法如下:(VC 6.0测试过,Turbo C算法一样)
#include<stdio.h>
int main()
{
int i,j; // i为5分的个数,j为2分的个数,100-i*5-j*2为1分的个数
int count = 0; // 统计兑换的方法次数
for(i=0;i<=20;i++)
for(j=0;j<=50;j++)
if(i*5+j*2<=100)
{
count++;
printf("i=%2d j=%2d k=%3d count=%d\n",i,j,100-i*5-j*2,count); // 输出兑换方法及次数统计
}
printf("count = %d\誉迹n",count); // 输出总的方法次数
}
展开全部
#include <iostream.h>
int main()
{
const int N=100;
int count=0;
for(int i=20;i>=0;i--)
for(int j=0;j<=100-i*5;j++)
if(i*5+j*2<厅告=N) count++;
cout<<"1元换成5分、2分、1分的方法态辩有"<<count<<"种"<帆伏缺<endl;//}
return 0;
}
int main()
{
const int N=100;
int count=0;
for(int i=20;i>=0;i--)
for(int j=0;j<=100-i*5;j++)
if(i*5+j*2<厅告=N) count++;
cout<<"1元换成5分、2分、1分的方法态辩有"<<count<<"种"<帆伏缺<endl;//}
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
//这个题是规定必须有1、2、5分的硬币,还是说可以没有其中的一种或者两种?比如兑换成两族森个5
//分的算不算?
//如果可以没有其中的一种或两种,那么思路就是这样:
m=0;
for(i=0;i<100;i++)
for(j=0;j<50;j++)
for(k=0;k<20;k++)
if((i+2*j+5*k)==100)
m++;
/搏掘/大概思路就这样,最后m的值就是兑换方法的种数。
//如果必须都有,那i、j、k的兆银亩初始值都为1,思路如下:
m=0;
for(i=1;i<100;i++)
for(j=1;j<50;j++)
for(k=1;k<20;k++)
if((i+2*j+5*k)==100)
m++;
//分的算不算?
//如果可以没有其中的一种或两种,那么思路就是这样:
m=0;
for(i=0;i<100;i++)
for(j=0;j<50;j++)
for(k=0;k<20;k++)
if((i+2*j+5*k)==100)
m++;
/搏掘/大概思路就这样,最后m的值就是兑换方法的种数。
//如果必须都有,那i、j、k的兆银亩初始值都为1,思路如下:
m=0;
for(i=1;i<100;i++)
for(j=1;j<50;j++)
for(k=1;k<20;k++)
if((i+2*j+5*k)==100)
m++;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询