c++ 1

(二)程序设计题

1用三种循环语句来分别实现输出10~50之间的3的倍数。

 

 

#include<iostream>

using namespace std;

int main()

{

    int i;

    i=12;

    while(i<50)

    {

        if(i%3==0)

             cout<<i<<' ';

        i++;

    }

    cout<<endl;

    i=12;

    do{

        if(i%3==0)

        cout<<i<<' ';

        i++;

       

    }while(i<50);

    cout<<endl;

    for(i=12;i<50;i++)

    {

        if(i%3==0)

             cout<<i<<' ';

    }

    cout<<endl;  

    return 0;

}

 

 

2从键盘上读入两数,比较两个数的大小,并按从小到大的次序输出。

 

 

 

#include<iostream>

using namespace std;

int main()

{

    int x,y;

    cout<<"please input two integers:"<<endl;

    cin>>x;

    cout<<endl;

    cin>>y;

    if(x<y)

        cout<<x<<endl<<y;

    else

        cout<<y<<endl<<x;

    return 0;

}

 

3输出1到100的偶数,一行5个。

#include<iostream>

using namespace std;

int main()

{

    int i,n=0;

    for(i=2;i<=100;i=i+2)

    {

        cout<<i<<' ';

        n=n+1;

        if(n%5==0)

             cout<<endl;

    }

    return 0;

}

 

4打印出所有的“水仙花数”。所谓“水仙花数”是指一个三位数,其各位数字的立方和等于该数本身。例如,153是一个“水仙花数”,因为153=13+53+33。

 

#include<iostream>

using namespace std;

int main()

{

    int a,b,c,i;

    cout<<"the numbers are as follow:"<<endl;

    for(i=100;i<1000;i++)

    {

        a=i%10;

        b=i/10%10;

        c=i/100;

        if(i==a*a*a+b*b*b+c*c*c)

             cout<<i<<endl;

    }

    return 0;

}

 

 

 

5打印一个三角形的1~9的乘法表。

 

 

 

#include<iostream>

using namespace std;

int main()

{

    int i,j,sum;

    for(i=1;i<=9;i++)

    {

        for(j=1;j<=9;j++)

        {

             sum=i*j;

             cout<<i<<'*'<<j<<'='<<sum<<' ';

             if((j+1)>i)

                 break;

        }

        cout<<endl;

    }

    return 0;

}

 

 

 

6、写一个程序,100~200间的所有素数 。

 

#include<iostream>

using namespace std;

int main()

{

    int i,m,n=0;

    cout<<"the result is:"<<endl;

    for(m=100;m<=200;m++)

    {

        for(i=2;i<=m;i++)

       

             if(m%i==0)

                 break;

             if(i==m)

             {   cout<<m<<' ';

            n++;

             if(n%3==0)

                 cout<<endl;}

       

    }

    return 0;

}

 

 

 

7给出一个百分制的成绩,要求输出成绩等级‘A’,‘B’,‘C’,‘D’,‘E’。90分以上为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。

 

 

#include<iostream>

using namespace std;

int main()

{

    int i;

    cout<<"please input the score:"<<endl;

    cin>>i;

    cout<<"the level is:"<<endl;

    if(i>=90)

        cout<<'A';

    if(i>=80&&i<90)

        cout<<'B';

    if(i>=70&&i<80)

        cout<<'C';

    if(i>=60&&i<70)

        cout<<'D';

    if(i<60)

        cout<<'E';

    cout<<endl;

    return 0;

}

 

 

 

8求(即求1!+2!+3!+4!+……+10!)。

 

#include<iostream>

using namespace std;

int fun(int n);

int main()

{

    int i,sum=0;

    for(i=1;i<=10;i++)

    sum=sum+fun(i);

    cout<<"1!+2!+3!+...+10!="<<sum<<endl;

   

    return 0;

}

int fun(int n)

{

    int sum=1,i=1;

    for(i=1;i<=n;i++)

        sum=sum*i;

      return sum;

}

 

 

 

9

求1+……的和。

#include<iostream>

using namespace std;

int fun(int n);

int main()

{

    int i;

    double sum=0.0;

   

    for(i=1;i<=20;i++)

        sum=sum+1.0/i;

   

    cout<<"1+1/2+1/3+...+1/20="<<sum<<endl;

   

    return 0;

}

 

 

 

 

10有一分数序列,,,,,……,求出这个数列的前20项之和。

 

#include <iostream>

using namespace std;

int main ()

{

    int a,b,i,temp;

    a=1;

    b=2;

    double c,sum;

    sum=0.0;

    for(i=0;i<20;i++)

    {

        c=(double)b/a;

        sum+=c;

        temp=b;

        b=a+b;

        a=temp;

    }

    cout<<"2/1+3/2+...the sum of the 20 first items is "<<sum<<endl;

    return 0;

}

 

 

 

 

11、一个10个整数的数组(34,91,83,56,29,93,56,12,88,72),找出最小数和其下标,并在主函数中打印最小数和下标。

 

 

#include <iostream>

using namespace std;

int main ()

{

    int s[10]={34,91,83,56,29,93,56,12,88,72};

    int min,a,i;

    min=s[0];

    a=0;

    for(i=0;i<10;i++)

    {

        if(min>s[i+1])

        {

             min=s[i+1];

            a=i+1;

        }

    }

    cout<<"the minimum number is:"<<min<<endl;

    cout<<"the order number of the minmimum is:"<<a+1<<endl;

        return 0;

}

 

 

 

12、编程求矩阵的加法:。

 

 

 

#include <iostream>

using namespace std;

int main ()

{

    int a1[3][3]={{5,7,8},{2,-2,4},{1,1,1}};

    int a2[3][3]={{4,-2,3},{3,9,4},{8,-1,2}};

    int i,j;

    int a3[3][3];

 

    for(i=0;i<3;i++)

    {

        for(j=0;j<3;j++)

             a3[i][j]=a1[i][j]+a2[i][j];

    }

    for(i=0;i<3;i++)

    {

        for(j=0;j<3;j++)

             cout<<a1[i][j]<<"  ";

        cout<<endl;

    }

    cout<<"+"<<endl;

    for(i=0;i<3;i++)

    {

        for(j=0;j<3;j++)

             cout<<a2[i][j]<<"  ";

        cout<<endl;

    }

    cout<<"="<<endl;

    for(i=0;i<3;i++)

    {

        for(j=0;j<3;j++)

             cout<<a3[i][j]<<"  ";

        cout<<endl;

    }

    return 0;

}

 

13、编写一个程序,用来分别求2个整数、3个整数、2个双精度数和3个双精度数的最大值。要求使用重载函数来完成。

 

#include <iostream>

using namespace std;

int max1(int x,int y)

{

    if(x>y)

        return x;

    else return y;

}

double max1(double x,double y)

{

    if(x>y)

        return x;

    else return y;

}

int max2(int x,int y,int z)

{

    int temp;

    temp=x;

    if(temp<y)

        temp=y;

    if(temp<z)

        temp=z;

    return temp;

}

double max2(double x,double y,double z)

{

    int temp;

    temp=x;

    if(temp<y)

        temp=y;

    if(temp<z)

        temp=z;

    return temp;

}

 

int main ()

{

    int a1,a2,a3;

    double b1,b2,b3;

    cout<<"a1=";

    cin>>a1;

    cout<<"a2=";

    cin>>a2;

    cout<<"the max is;"<<max1(a1,a2)<<endl;

    cout<<"a3=";

    cin>>a3;

    cout<<"the max is;"<<max2(a1,a2,a3)<<endl;

    cout<<"b1=";

    cin>>b1;

    cout<<"b2=";

    cin>>b2;

    cout<<"the max is;"<<max1(b1,b2)<<endl;

    cout<<"b3=";

    cin>>b3;

    cout<<"the max is;"<<max2(b1,b2,b3)<<endl;

    return 0;

}

   

 

 

 

 

 

 

14、编写一个程序,计算并输出Fibonacci数列的前n项的值,n是用户由键盘的输入值。

#include <iostream>

using namespace std;

int main()

{

    int n,a,b,c,i;

    int fibonacci[100];

    cout<<"please input the number:";

    cin>>n;

    a=1;

    b=2;

    fibonacci[0]=1;

    fibonacci[1]=2;

    for(i=2;i<100;i++)

    {

        c=a+b;

        a=b;

        b=c;

        fibonacci[i]=c;

    }

    cout<<"the first "<<n<<" numbers are :"<<endl;

    for(i=0;i<n;i++)

        cout<<fibonacci[i]<<endl;

    return 0;

}

 

 

 

 

 

posted @ 2018-02-12 09:46  夜游星  阅读(846)  评论(0编辑  收藏  举报