C++编程题集.docx

上传人:b****8 文档编号:9518277 上传时间:2023-02-05 格式:DOCX 页数:128 大小:61.15KB
下载 相关 举报
C++编程题集.docx_第1页
第1页 / 共128页
C++编程题集.docx_第2页
第2页 / 共128页
C++编程题集.docx_第3页
第3页 / 共128页
C++编程题集.docx_第4页
第4页 / 共128页
C++编程题集.docx_第5页
第5页 / 共128页
点击查看更多>>
下载资源
资源描述

C++编程题集.docx

《C++编程题集.docx》由会员分享,可在线阅读,更多相关《C++编程题集.docx(128页珍藏版)》请在冰豆网上搜索。

C++编程题集.docx

C++编程题集

Q5.(10分)写一个程序根据从键盘输入的里氏强度显示地震的后果。

根据里氏强度地震的后果如下:

里氏强度后果

小于4很小

4.0到5.0窗户晃动

5.0到6.0墙倒塌;不结实的建筑物被破坏

6.0到7.0烟囱倒塌;普通建筑物被破坏

7.0到8.0地下管线破裂;结实的建筑物也被破坏

超过8.0地面波浪状起伏;大多数建筑物损毁

**输入格式要求:

实数,提示信息:

cout<<"请输入地震的里氏强度:

"<

**输出格式要求:

"本次地震后果:

很小!

"

"本次地震后果:

窗户晃动!

"

"本次地震后果:

墙倒塌;不结实的建筑物被破坏!

"

"本次地震后果:

烟囱倒塌;普通建筑物被破坏!

"

"本次地震后果:

地下管线破裂;结实的建筑物也被破坏!

"

"本次地震后果:

地面波浪状起伏;大多数建筑物损毁!

"

#include  

usingnamespacestd; 

intmain() 

 {      

     inti;     

     cout<<"请输入地震的里氏强度:

"<

     cin>>i;     

     if(i>=8)         

         cout<<"本次地震后果:

地面波浪状起伏;大多数建筑物损毁!

"<

     elseif(i>=7&&i<8)        

         cout<<"本次地震后果:

地下管线破裂;结实的建筑物也被破坏!

"<

     elseif(i>=6&&i<7)         

         cout<<"本次地震后果:

烟囱倒塌;普通建筑物被破坏!

"<

     elseif(i>=5&&i<6)      

         cout<<"本次地震后果:

墙倒塌;不结实的建筑物被破坏!

"<

     elseif(i>=4&&i<5)      

         cout<<"本次地震后果:

窗户晃动!

"<

     elseif(i<4)         

         cout<<"本次地震后果:

很小!

"<

 }

Q6.(10分)写一个程序从键盘输入1到7中的某个数字,其中1代表星期天,2代表星期一,3代表星期二等。

根据用户输入的数字显示相应的星期几。

如果用户输入的数字超出了1到7的范围,显示输出一个错误提示信息。

**输入格式要求:

整数,提示信息:

cout<<"Pleaseinputasinglenumeral(1-7):

";

**输出格式要求:

"Monday"(星期几的英文单词首字母大写加换行)

提示信息:

"Invalid-pleaseinputasinglenumeral(1-7)."(加换行)

#include 

usingnamespacestd; 

intmain() 

    intn; 

    cout<<"Pleaseinputasinglenumeral(1-7):

"; 

    cin>>n; 

    if(n>=1&&n<=7) 

    { 

        switch(n) 

        { 

case1:

 

            cout<<"Sunday"<

            break; 

case2:

 

            cout<<"Monday"<

            break; 

case3:

 

            cout<<"Tuesday"<

            break; 

case4:

 

            cout<<"Wensday"<

            break; 

case5:

 

            cout<<"Thursday"<

            break; 

case6:

 

            cout<<"Friday"<

            break; 

case7:

 

            cout<<"Saturday"<

            break; 

        } 

    } 

    else

        cout<<"Invalid-pleaseinputasinglenumeral(1-7)."<

    return0; 

}

Q7.(10分)有一天,一位百万富翁遇到一个陌生人,陌生人找他谈一个换钱的计划,陌生人对百万富翁说:

“我每天给你10万元,而你第一天只需给我1分钱,第二天我仍给你10万元,你给我2分钱,第三天我仍给你10万元,你给我4分钱……。

你每天给我的钱是前一天的两倍,直到满一个月(30天)为止”,百万富翁很高兴,欣然接受了这个契约。

请编程计算在这一个月中陌生人总计给百万富翁多少钱,百万富翁总计给陌生人多少钱。

**输入提示信息和数据格式:

**输出提示信息和数据格式:

cout<<"百万富翁给陌生人:

"<

cout<<"陌生人给百万富翁:

"<

#include

usingnamespacestd;

intmain()

{

    doubletoStranger=0.01,toRichman=0;

    for(inti=1;i<=30;i++)

    {

        toStranger*=2;

        toRichman+=100000;

    }

cout<<"百万富翁给陌生人:

"<

cout<<"陌生人给百万富翁:

"<

  

}

Q8.(10分)编程计算自然数的立方和,直到立方和大于等于1000000时为止。

统计并输出实际累加的项数。

要求输出结果为:

sum=1071225

count=45

#include

usingnamespacestd;

intmain()

{

    inti=1,count=0,s,sum=0;

    do

    {

        s=i*i*i;

        sum+=s;

        count++;

        i++;

    }while(sum<1000000);

    cout<<"sum="<

    cout<<"count="<

    return0;

}

Q9.(10分)求多项式1!

+2!

+3!

+……+15!

的值。

输出格式要求:

cout<<"s="<

#include

usingnamespacestd;

intmain()

{

 inti,sum=1;

 intn=15,s=0;

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

 {

  sum=sum*i;

  s+=sum;

 }

 cout<<"s="<

 return0;

}

Q10.(10分)求1至200之间的所有质数,将质数和存入变量sum中并输出。

质数(素数)的说明:

“质数是只能被1和其本身整除的数”。

输入提示要求:

输出结果格式要求:

质数之间以一个空格隔开

输出所有质数后换行输出:

sum=4227

#include

#include

usingnamespacestd;

intPrime(intm) 

{

    inti,k;

    k=(int)sqrt(m);

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

        if(m%i==0)return0;

        return1;

}

  

intmain()

{

    inta;

    intsum=0;

    for(a=2;a<=200;a++)

    {

        if(Prime(a))

        { 

            sum+=a;

            cout<

        }

    }

    cout<

    cout<<"sum="<

    return0;

}

Q11.(10分)在一个已知的一维数组中分类统计正数和负数的个数。

正数的个数存入变量C1中,负数个数存入变量C2中.

输出格式要求:

cout<<"c1="<

cout<<"c2="<

#include

usingnamespacestd;

intmain()

{

    inta[10]={1,-2,0,4,-5,0,7,8,-9,10};

    intc1=0,c2=0;

    inti;

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

        if(a[i]>0)

            c1++;

        elseif(a[i]<0)

            c2++;

    cout<<"c1="<

    cout<<"c2="<

    return0;

}

Q12.(10分)在包含10个数的一维整数数组a中查找最大元素max和最小元素min。

输出格式要求:

cout<<"最大元素:

"<

cout<<"最小元素:

"<

#include

usingnamespacestd;

intmain()

{

    inta[10]={32,43,65,23,432,543,543,54,542,87};

    inti;

    intmax,min;

    max=a[0],min=a[0];

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

    {

        if(a[i]>max)max=a[i];

        if(a[i]

    }

    cout<<"最大元素:

"<

    cout<<"最小元素:

"<

    return0;

}

Q13.(10分)用while循环编程,求自然数1至100之间各奇数平方和sum。

输出结果格式为:

sum=166650

#include

usingnamespacestd;

intmain()

{

    inti=1,sum=0;

    while(i<=100)

    {

        if(i%2!

=0)

        {

            sum=sum+i*i;

        }

        i++;

    }

    cout<<"sum="<

}

Q14.(10分)判断一个数23437是否是素数(要求程序中设置一个参数flag,flag为1代表是素数,为0代表不是)

输出结果:

0

#include

#include

usingnamespacestd;

intmain()

{

 inta=23437;

 intc,flag;

 doubleb;

 b=sqrt(a);

 for(c=2;c<=a;c++)

 {

  if(a%c==0)

   break;

 }

 if(c>b)

  flag=1;

 else

  flag=0;

 if(flag==1)

  cout<

 elseif(flag==0)

  cout<

return0;

}

Q15.(10分)已知一个数m(=252),用循环求各位数字之和。

输出结果格式:

s=9

#include

usingnamespacestd;

intmain()

{

    intm[3]={2,5,2},s=0;

    for(inti=0;i<=2;i++)

    {

        s+=m[i];

    }

    cout<<"s="<

    return0;

}

Q16.(10分)已知一个数m(=252),用循环求各位数字之积。

输出结果格式:

f=20

#include

#include

usingnamespacestd;

intmain()

{

    intm[3]={2,5,2},f=1;

    for(inti=0;i<=2;i++)

    {

        f*=m[i];

    }

    cout<<"f="<

    return0;

  

}

Q17.(10分)已知10个四位数输出所有对称数及个数n。

例如1221,2332都是对称数。

设:

intm[10]={1221,2243,2332,1435,1236,5623,4321,4356,6754,3234};

输出结果:

1221

2332

#include

usingnamespacestd;

intmain()

{

    inti,n=0,m[10]={1221,2243,2332,1435,1236,5623,4321,4356,6754,3234};

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

    {

        inta,b,c,d;

        a=m[i]/1000;

        b=m[i]%1000/100;

        c=m[i]%100/10;

        d=m[i]%10;

        if(a==d&&c==b)

        {

            cout<

            n++;

        }

    }

    cout<<"n="<

    return0;

}Q18.(10分)将1-100之间奇数顺序累加存入n中,直到其和等于或大于200为止。

输出结果格式:

n=225

#include

usingnamespacestd;

intmain()

    intn=0;

    for(inti=1;i<=100;i++)

    {

            if(i%2!

=0&&n<=200)

                n+=i;

    }

    cout<<"n="<

    return0;

}

Q19.(10分)从键盘上输入三个整数,编写程序求出三个数中的最大值。

输入格式要求:

cout<<"请输入三个整数:

";

输出格式要求:

cout<<"最大值是:

"<

#include

usingnamespacestd;

intmain()

{

    inta,b,c,t,max;

    cout<<"请输入三个整数:

";

    cin>>a>>b>>c;

    if(a

    {

        t=b;

        b=a;

        a=t;

    }

    if(a

    {

        t=c;

        c=a;

        a=t;

    }

    max=a;

    cout<<"最大值是:

"<

    return0;

}

Q20.(10分)输入年份和月份,编写程序,判断这一年该月份的天数。

输入格式要求:

cout<<"请输入年份和月份:

";

输出格式要求:

cout<

"<

#include

usingnamespacestd;

intisLeap(intyear)

{

    if(year%400==0||(year%4==0&&year%100!

=0))

    {

        return1;

    }

    else

    {

        return0;

    }

}

intmain()

{

    intyear;

    intmonth;

    inta[12]={31,28,31,30,31,30,31,31,30,31,30,31};

    cout<<"请输入年份和月份:

";

    cin>>year>>month;

    if(isLeap(year))

    {

        a[1]=a[1]+1;

    }

    cout<

"<

         return0;

}

Q21.(10分)

编写程序,求解下面的分段函数:

输入格式要求:

 cout << "请输入x:

";

输出格式要求:

 cout << "y="<< y << endl;

#include

usingnamespacestd;

intmain()

{

    doublex,y;

    cout<<"请输入x:

";

    cin>>x;

    if(x>-10&&x<0)y=x-8;

    if(x==0)    y=x;

    if(x>0&&x<10)  y=x*x;

    cout<<"y="<

    return0;

}

Q22.(10分)用“辗转相除方法”计算两个数x,y的最大公约数。

输入格式要求:

无,直接输入

输出格式要求:

无,直接输出结果

#include

usingnamespacestd;

intmain()

{

    intx,y,r;

    cin>>x>>y;

    while(y!

=0)

    {

        r=x%y;

        x=y;

        y=r;

    }

    cout<

    return0;

}

Q23.(10分)利用选择法将下面10个数按降序排列。

有如下定义:

intn[10]={5,6,4,2,3,7,8,5,6,7};

输入格式要求:

输出格式要求:

以逗号分隔降序数列

#include

#include

usingnamespacestd;

intmain()

{

    inta[10]={5,6,4,2,3,7,8,5,6,7},i,j,k,t;            

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

    {

        k=i;                

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

            if(a[k]

  

        if(k!

=i)        

        {               

            t=a[k];

            a[k]=a[i];

            a[i]=t;

        }

    }

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

    {

  

        cout<

    }

    cout<

    return0;

}

Q24.(10分)定义数组,输入不多于20名若干学生成绩,统计高于平均分的人数k,用-1做结束标志。

输入格式要求:

输出格式要求:

cout<<"高于平均分的人数:

"<

#include

usingnamespacestd;

intmain()

{

    floatcj[]={76,89,90,67,56,45,24,87,66,56,-1},aver,sum=0;

    inti,n=0,k=0;

    while(cj[n]>=0)

    {

   

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1