C++题库大全.docx
- 文档编号:17928010
- 上传时间:2023-08-05
- 格式:DOCX
- 页数:158
- 大小:138.75KB
C++题库大全.docx
《C++题库大全.docx》由会员分享,可在线阅读,更多相关《C++题库大全.docx(158页珍藏版)》请在冰点文库上搜索。
C++题库大全
第1题:
输入5小写字母,将其译成密码。
密码规律是:
用原来的字母后面第4个字母代替原来的字母。
例如,输入“ahoux”,‘a’->‘b’->‘c’->‘d’->‘e’,所以字母‘a’后面第4个字母是‘e’,用‘e’代替‘a’;字母‘x’后面不足4个字母,则从‘a’开始补充,‘x’->‘y’->‘z’->‘a’->‘b’,所以字母‘x’后面第4个字母是‘b’,用‘b’代替‘x’。
因此,“ahoux”应译为“elsyb”。
样例输入:
ahoux样例输出:
elsyb
方法一:
#include
intmain()
{charc1,c2,c3,c4,c5;
cin>>c1>>c2>>c3>>c4>>c5;
c1+=4;c2+=4;c3+=4;c4+=4;c5+=4;
if(c1>'z')
c1-=26;
if(c2>'z')
c2-=26;
if(c3>'z')
c3-=26;
if(c4>'z')
c4-=26;
if(c5>'z')
c5-=26;
cout< return0; } 方法二: #include intmain() {charc; while((c=getchar())! ='\n') { c+=4; if(c>'z') c-=26; printf("%c",c); } return0; } 第2题: 输入圆的半径和圆柱的高,依次输出圆周长、圆面积、圆球表面积、圆柱体积(以空格分隔,π取3.14)。 样例输入: 1.5 3 样例输出: 9.42 7.065 28.26 21.195 #include intmain() {floatr,h,c,s1,s2,v; cin>>r>>h; c=3.14*r*2; s1=3.14*r*r; s2=4*3.14*r*r; v=s1*h; cout< return0; } 第3题: 输入一个华氏温度,要求输出摄氏温度。 公式为: c=5/9*(F-32)。 样例输入: 100 样例输出: 37.7778 #include intmain() {floatc,f; scanf("%f",&f); c=5*(f-32)/9; printf("%f",c); return0; } 第4题: 有一分段函数如下,请编写程序,输入x值,输出y值。 样例输入: -2样例输出: 14.5样例输入: 1样例输出: 0.393654样例输入: 6样例输出: 0.848872 #include #include intmain() {floatx,y; scanf("%f",&x); if(x<0) y=3*x*x-5/x; elseif(x<5) y=1/(2+cos(x)); else y=sqrt(sin(x)+1); printf("%f",y); return0;} 第5题: 输入3个整数,输出其中最大数。 样例输入: 132样例输出: 3 #include intmain() {inta,b,c,max; cin>>a>>b>>c; max=a; if(max max=b; if(max max=c; cout< return0; } 第6题: 计算表达式ax3+bx2+cx+d的值。 输入x,a,b,c,d,输出计算结果。 样例输入: 2.23456样例输出: 68.304 #include intmain() {floatx,a,b,c,d,e; cin>>x>>a>>b>>c>>d; e=a*x*x*x+b*x*x+c*x+d; cout< return0; } 第7题: 计算表达式的值。 输入a,b,c,d,e,输出计算结果。 样例输入: 12345样例输出: 0.347826 #include intmain() {floata,b,c,d,e,y; cin>>a>>b>>c>>d>>e; y=a*b/(c/d+e); cout< return0;} 第8题: 输入两个整数,将它们交换后输出。 样例输入: 12 样例输出: 21 #include intmain() {inta,b,c; cin>>a>>b; c=a; a=b; b=c; cout< return0;} 第9题: 输入三角形的三条边长a,b,c(要求能构成三角形),求三角形面积。 样例输入: 3.24.45.6样例输出: 7.02624 #include #include intmain() {floata,b,c,p,s; cin>>a>>b>>c; p=(a+b+c)/2; s=sqrt(p*(p-a)*(p-b)*(p-c)); cout< return0; } 第10题: 输入大写字母,输出对应的小写字母。 样例输入: B样例输出: b #include intmain() {chara; cin>>a; a=a+32; cout< return0; } 第11题: 古代数学问题"鸡兔同笼"。 鸡与兔共a只,鸡与兔的总脚数为b,输入a,b,求鸡兔各几只。 样例输入: 310 样例输出: 12 #include intmain() {inta,b,c,d; cin>>a>>b; c=(4*a-b)/2; d=(b-2*a)/2; cout< return0; } 第12题: 输入一个四位数,将其加密后输出。 方法是将该数每一位的数字加9,然后除以10取余作为该位上的新数字,最后将千位上的数字和十位上的数字互换,组成加密后的新四位数。 样例输入: 1368样例输出: 5207 #include intmain() {inta,g,s,b,q,a1; cin>>a; g=a%10; s=(a/10)%10; b=(a/100)%10; q=(a/1000)%10; g=(g+9)%10; s=(s+9)%10; b=(b+9)%10; q=(q+9)%10; a1=g+q*10+b*100+s*1000; cout< return0; } 第13题: 有一分段函数如下,请编写程序,输入x值,输出y值。 样例输入: 0.5样例输出: 0.5样例输入: 1样例输出: 1样例输入: 15样例输出: 34 #include intmain() {floatx,y; cin>>x; if(x<1) y=x; if(x>=1&&x<10) y=2*x-1; if(x>=10) y=3*x-11; cout< return0;} 第14题: 输入一个不多于5位的正整数,要求分3行输出以下信息,第1行输出它是几位数;第2行从高位到低位依次输出每一位数字(以空格分隔,下同);第3行从低位到高位依次输出每一位数字。 样例输入: 32100样例输出: 53210000123样例输入: 40样例输出: 2 4 0 04方法一: #include #include intmain() {intm,g,s,b,q,w,ws; cin>>m; ws=log10(m)+1; g=m%10;s=m/10%10;b=m/100%10; q=m/1000%10;w=m/10000; cout< switch(ws) {case5: cout< case4: cout< case3: cout< case2: cout< case1: cout< cout< switch(ws) {case5: cout< case4: cout< case3: cout< case2: cout< case1: cout< return1; } 方法二: #include #include intmain() {intn,ws,i,p,n1; cin>>n; ws=(int)log10(n)+1;//n的位数 p=(int)pow(10,ws-1); n1=n; cout< for(i=1;i<=ws;i++) { cout< p/=10; } cout< for(i=1;i<=ws;i++) { cout< n/=10; } } 第15题: 输入五级制成绩(A~E),输出相应的百分制(0~100)区间。 要求用switch语句。 五级制对应的百分制成绩区间为: A(90~100)、B(80~89)、C(70~79)、D((60~69))、E(0~59)。 样例输入: B样例输出: 80~89 #include intmain() {charg; cin>>g; switch(g) { case'A': cout<<"90~100"< case'B': cout<<"80~89"< case'C': cout<<"70~79"< case'D': cout<<"60~69"< case'E': cout<<"0~59"< } return0; } 第16题: 输入三角形的三条边a、b、c,如果能构成三角形,求三角形面积和周长,如果不能构成三角形则输出Error。 样例输入: 4.55.66.7样例输出: 12.487516.8样例输入: 1 23样例输出: Error #include #include intmain() {floata,b,c,d,e,s; cin>>a>>b>>c; if((a+b)<=c||(b+c)<=a||(a+c)<=b) {cout<<"Error";} else {d=a+b+c; e=d/2; s=sqrt(e*(e-a)*(e-b)*(e-c)); cout< return0; } 第17题: 编写程序,输入一个数,判断其是否是3或7的倍数,分4种情况输出: 是3的倍数但不是7的倍数时输出1,不是3的倍数但是7的倍数时输出2,是3的倍数也是7的倍数时输出3,不是3的倍数也不是7的倍数时输出4。 样例输入: 21样例输出: 3 #include intmain() {inta; cin>>a; if(a%3==0) if(a%7==0) cout<<3; else cout<<1; else if(a%7==0) cout<<2; else cout<<4; return0; } 第18题: 企业发放的奖金根据利润提成。 利润P低于或者等于10万元时,奖金可提成10%;利润P高于10万,低于20万时(100000 ),其中10万元按照10%提成,高于10万元的部分,可提成7.5%;200000 =400000时,其中20万元仍按上述办法提成(下同),高于20万元的部分按照5%提成;400000 时,高于40万元的部分按照3%提成;600000 时,高于60万元的部分按照1.5%提成;P>1000000时,超过100万的部分按照1%提成,从键盘输入当月利润P,求应发放奖金总数。 样例输入: 234000样例输出: 19200 #include intmain() {floatp,b; cin>>p; if(p<=100000) b=p*0.1; elseif(p<=200000) b=10000+(p-100000)*0.075; elseif(p<=400000) b=10000+7500+(p-200000)*0.05; elseif(p<=600000) b=10000+7500+10000+(p-400000)*0.03; elseif(p<=1000000) b=10000+7500+10000+6000+(p-600000)*0.015; else b=10000+7500+10000+6000+6000+(p-1000000)*0.01; cout< return0; } 第19题: 输入收入salary,输出应交的个人所得税tax。 计算公式: tax=rate*(salary-850),其中rate是税率,与收入有关。 样例输入: 2000.5样例输出: 115.05 #include intmain() {floatsalary,tax; cin>>salary; if(salary<=850) tax=0; elseif(salary<=1350) tax=(salary-850)*0.05; elseif(salary<=2850) tax=(salary-850)*0.1; elseif(salary<=5850) tax=(salary-850)*0.15; else tax=(salary-850)*0.2; cout< return0; } 第20题: 编写程序计算某年某月的天数。 输入年份year和月份month,输出该月份的天数。 样例输入: 20122样例输出: 29 #include intmain() {inty,m; cin>>y>>m; if(m! =2) { if(m==1||m==3||m==5||m==7||m==8||m==10||m==12) cout<<31; else cout<<30; } else if((y%4==0&&y%100! =0)||(y%400==0)) cout<<29; else cout<<28; return0; } 第21题: 一个表达式x()y==z的值为真,其中x,y,z都是整数。 括号内可能出现的运算符包括: +、-、*、/、%,请根据输入的x,y,z的值,输出括号内应填写的运算符(数据保证只有一个运算符满足条件)。 样例输入: 292123415样例输出: + #include intmain() {intx,y,z; cin>>x>>y>>z; if(x+y==z) cout<<"+"; if(x-y==z) cout<<"-"; if(x*y==z) cout<<"*"; if(x/y==z) cout<<"/"; if(x%y==z) cout<<"%"; return0; } 第22题: 输入两个整数m和n,判断m能否被n整除,若不能整除,输出NO,否则输出YES。 样例输入: 63样例输出: YES #include intmain() {intm,n; cin>>m>>n; if(m%n==0) cout<<"YES"; else cout<<"NO"; return0; } 第23题: 有一分段函数如下,请编写程序,输入x值,输出y值。 样例输入: -1样例输出: -1.84147样例输入: 6.5样例输出: 23204.8样例输入: 12样例输出: 0.048737 #include #include intmain() {floatx,y; cin>>x; if(x<0) y=x*x+2/x+sin(x); elseif(x<10) y=2*x*x*x*x*x-cos(x); else y=1/sqrt(3*x*x-11); cout< return0; } 第24题: 输入坐标系中三个点A、B、C的坐标,要求: ①判断这三个点能否构成一个三角形,如果不能构成三角形,则输出“No”,否则,输出“Yes”。 如果能构成三角形②求△ABC的面积;③如果△ABC是直角三角形,则输出“Right”;如果是锐角三角形,则输出“Acute”;如果是钝角三角形,则输出“Obtuse”。 样例输入: 001020样例输出: NO样例输入: 00 30 04样例输出: YES6Right #include #include intmain() {floata,b,c,d,s,p,t,x1,y1,x2,y2,x3,y3; cin>>x1>>y1>>x2>>y2>>x3>>y3; a=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)); b=sqrt((x2-x3)*(x2-x3)+(y2-y3)*(y2-y3)); c=sqrt((x3-x1)*(x3-x1)+(y3-y1)*(y3-y1)); if(a { d=b;b=a;a=d; } if(a { d=c;c=a;a=d; } if(a>=b+c) cout<<"NO"; else { cout<<"YES"<<""; p=(a+b+c)/2.0; s=sqrt(p*(p-a)*(p-b)*(p-c)); cout< t=(c*c+b*b-a*a)/2*b*c; if(t==0) cout<<"Right"; elseif(t<0) cout<<"Obtuse"; else cout<<"Acute"; } return0;} 第25题: 输入年份year,判断是否是闰年,若不是,输出NO,否则输出YES。 样例输入: 2012样例输出: YES #include intmain() {intyear; cin>>year; if(year%4==0&&year%100! =0||year%400==0) cout<<"YES"; else cout<<"NO"; return0;} 第26题: 设计一简易计算器,计算两个正整数a、b的和、差、积、商和余数。 输入格式为: aopb,其中,a、b为要计算的两个正整数,op为算术运算符(包括+、-、*、/、%),输出计算的结果。 样例输入: 3+5样例输出: 8 #include intmain() {inta,b; charop; cin>>a>>op>>b; switch(op) { case'+':
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 题库 大全