C++编程题集.docx
- 文档编号:27904352
- 上传时间:2023-07-06
- 格式:DOCX
- 页数:128
- 大小:61.22KB
C++编程题集.docx
《C++编程题集.docx》由会员分享,可在线阅读,更多相关《C++编程题集.docx(128页珍藏版)》请在冰豆网上搜索。
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++) {
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 编程