#include "stdio.h"
田家庵网站制作公司哪家好,找创新互联公司!从网页设计、网站建设、微信开发、APP开发、响应式网站设计等网站项目制作,到程序开发,运营维护。创新互联公司公司2013年成立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联公司。
//穷举法
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个",5,i,2,j,1,n);
printf("\n");
s++;
}
printf("一共有%d种方法",s);
}
第一题:
#include stdio.h
void main()
{
int x;
printf("请输入成绩score: \n");
scanf("%d",x);
switch(x/10)
{
case 6:printf("等级为:D\n");break;
case 7:printf("等级为:C\n");break;
case 8:printf("等级为:B\n");break;
case 9:
case 10:printf("等级为:A\n");break;
default :printf("等级为:E\n");
}
}
第二题:
#include stdio.h
void main()
{
int i,j,k,m=0;
for(i=0;i=20;i++)
{
for(j=0;j=50;j++)
{
for(k=0;k=100;k++)
{
if(5*i+2*j+k==100)
printf("5分=%d个,2分=%d个,1分=%d个\n",i,j,k);
m++;
}
}
}
printf("一共有:%d种\n",m);
}
第三题:
#includestdio.h
void main()
{
int a[10],i,j,k;
printf("请输入10个数:\n");
for(i=0;i10;i++)
scanf("%d",a[i]);
for(i=0;i10;i++)
for(j=i+1;j10;j++)
if(a[i]a[j])
{
k=a[i];
a[i]=a[j];
a[j]=k;
}
printf("max=%d\nmin=%d\n",a[0],a[9]);
}
第四题:
#includestdio.h
int fun1(int m,int n)
{
int a,b,r;
a=m;
b=n;
if(mn)
{r=m;m=n;n=r;}
r=m%n;
while(r!=0)
{m=n;n=r;r=m%n;}
return n;
}
int fun2(int m,int n)
{
int a,b,r;
a=m;
b=n;
if(mn)
{r=m;m=n;n=r;}
r=m%n;
while(r!=0)
return (a*b)/n;
}
void main()
{
int a,b,c,d;
printf("请输入两个数:\n");
scanf("%d,%d",a,b);
c=fun1(a,b);
d=fun2(a,b);
printf("最小公倍数是:%d\n最大公约数是:%d\n",c,d);
}
代码如下:
#include stdio.h
#include stdlib.h
int main()
{
int i, j, k, n, cnt = 0;
printf("Please input amount of money(unit jiao): ");
scanf("%d", n);
for (i = 0; i = (100 / 5); i++)
for (j = 0; j = (100 / 2); j++)
for (k = 0; k = 100; k++)
if (i * 5 + j * 2 + k == n) {
cnt++;
}
printf("Number of conbinations is: %d\n", cnt);
system("pause");
return 0;
}
运行结果:
#includestdio.h
#define SUM 10//定义总的钱
#define ONE 1//定义一角
#define FIVE 5//定义五角
int main()
{
int i;
int count = 0;//初始化为0
//控制循环数量,考虑兑换不会超过SUM/FIVE,
//所以可以以此控制循环次数,加快运行速度
for(i=0;i=SUM/FIVE;i++)
if((SUM - FIVE*i)=0)//判断,只要剩下的是大于等于0的硬币数,即满足要求
count++;
printf("共有%d种兑换方法\n",count);
return 0;
}
程序源码如下:
循环嵌套循环次数少的尽量在外!
#includeiostream
#includestdlib.h
using namespace std;
int main()
{
int count = 0;//换法数量
int temp;
int m = 100;//总钱数
int a = 1;//1元面值
int b = 2;//2元面值
int c = 5;//5元面值
//a, b, c的值还可以是10,20,50
for (int i = 0; i = m / b; ++i)//++i的意义在于100必须换成三类纸币,需要大于等于1张
{
for (int j = 0; j = m / c; ++j) //5元
{
temp = m - (b * i + c * j);
//只要2元和5元的总和加起来不大于100,剩下的都换1元
if (temp = 0 temp % a == 0)
{
++count;//换法种数+1
}
}
}
cout "换法有" count "种\n";//输出换法种数
system("pause");
return 0;
}
程序运行结果如下:
扩展资料:
其他实现方法:
#include stdio.h
int main()
{
int x,y,z,i=0;
for(x=0;x=20;x++)
for(y=0;y=50;y++)
for(z=0;z=100;z++)
{
if(x*5+2*y+z==100)
i++;
}
printf("There are %d ways.\n",i);
return 0;
}
#includestdio.h
int main()
{
int i,x,y,z, count=0;
for(z=0; z=2;z++)
for(y=0;y=5;y++)
for(x=0;x=10;x++)
{
if((x+2*y+5*z)==10)
{printf("%d %d %d\n",x,y,z);count++;}
}
printf("%d",count);
}