用100元换成1元,2元,5元的所有方案。
用穷举法。
#include<iostream>
using namespace std;
int main()
{int a,b,c,j=0;
for(a=0;a<=100;a++)
{
for(b=0;b<=50;b++)
{ for(c=0;c<=20;c++)
{
if((a+b*2+c*5)==100)
cout<<"第"<<++j<<"种:"<<"1元"<<a<<" 2元"<<b<<" 5元"<<c<<endl;
}
}
}
return 0;
}
有1,2,3,4这4个数字,能组成多少个互不相同且无重复的3位数?
穷举法
#include<iostream.h>
void main()
{
int i=0,j=0,k=0;
int n=0;
for(i=1;i<5;i++)
for(j=1;j<5;j++)
for(k=1;k<5;k++)
if(i!=j&&j!=k&&i!=k)
{
cout<<" "<<i<<" "<<j<<" "<<k<<" ";
n++;
if(n%3==0)
{
cout<<endl;
}
}
cout<<"总数为:"<<n;
}
输入一个整数按照输入相反的顺序输出
可以用do-while也可以用while和for
#include<iostream.h>
void main()
{
int a,b;
cin>>a;
do{
b=a%10;
cout<<b;
a=a/10;
}while(a!=0);
}
输入8个学生的6们成绩,分别求出每个学生的平均成绩
#include<stdio.h>
void main()
{
int s[8][6]={0};
int student=0,grade=0;
int num=0;
for(student=0;student<8;student++)
{
for(grade=0;grade<6;grade++)
{
scanf("%d",&s[student][grade]);//输入学生,成绩信息
}
}
for(student=0;student<8;student++)
{
for(grade=0;grade<6;grade++)
{
num+=s[student][grade];
}
printf("%d\n",num/6);//输出学生6科平均成绩
num=0;
}
}
输出100~200之间的素数
#include <stdio.h>
#include <math.h>
int main(void)
{
int n, i;
for(n=100;n<=200;n++)
{
for(i=2;i<=sqrt(n);i++)
if(n%i==0) break;
if(n%i!=0)
printf("%d ",n);
}
}
求出1+2!+3!+…+n!。
#include<iostream.h>
void main()
{
int i;
int n;
int sum=0,fact=1,j=1;
cin>>n;
for(i=1;i<=n;i++)
{
while(j<=i)
{
fact=j*fact;
j++;
}
sum=sum+fact;
}
cout<<sum;
}