循环的试题一

来源:互联网 发布:手机动漫壁纸软件 编辑:程序博客网 时间:2024/06/05 07:22

用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;}
原创粉丝点击