zoukankan      html  css  js  c++  java
  • 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;

    }

     

     

     

     

     

    朝闻道
  • 相关阅读:
    com.mongodb.MongoException$CursorNotFound: cursor not found on server异常处理
    Oracle中暂时表空间的清理
    java——数组
    二分查找的感悟
    【转】Linux时间函数之gettimeofday()函数之使用方法
    【转】《APUE》第三章笔记(4)及习题3-2
    【转】APUE习题4.6---测试lseek作用
    【转】linux下a.out >outfile 2>&1重定向问题
    【转】./a.out 2>&1 > outfile
    【转】apue《UNIX环境高级编程第三版》第一章答案详解
  • 原文地址:https://www.cnblogs.com/wander-clouds/p/8443765.html
Copyright © 2011-2022 走看看