C++题库大全.docx

上传人:b****5 文档编号:5361970 上传时间:2022-12-15 格式:DOCX 页数:136 大小:140.40KB
下载 相关 举报
C++题库大全.docx_第1页
第1页 / 共136页
C++题库大全.docx_第2页
第2页 / 共136页
C++题库大全.docx_第3页
第3页 / 共136页
C++题库大全.docx_第4页
第4页 / 共136页
C++题库大全.docx_第5页
第5页 / 共136页
点击查看更多>>
下载资源
资源描述

C++题库大全.docx

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

C++题库大全.docx

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

样例输出:

5

32100

00123

样例输入:

40

样例输出:

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

样例输出:

YES

6

Right

#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'+':

cout<

case'-':

cout<

case'*':

cout<

case'/':

cout<

case'%':

cout<

}

return0;

}

第27题:

输入两个正整数m和n,编写程序求其最大公约数和最小公倍数。

样例输入:

1525

样例输出:

575

#include

intmain()

{intm,n,m1,n1,r;

cin>>m>>n;

m1=m;n1=n;

r=m%n;

while(r!

=0)

{

m=n;n=r;r=m%n;

}

cout<

return0;

}

第28题:

输出所有大于给定数n的“水仙花数”,n由键盘输入。

所谓“水仙花数”是指一个3位数,其各位数字的立方和等于该数本身。

例如,153是一个“水仙花数”,因为153=13+53+33。

样例输入:

100

样例输出:

153370371407

#include

intmain()

{intn,g,s,b;

cin>>n;

for(n++;n<1000;n++)

{

g=n%10;

s=(n/10)%10;

b=(n/100)%10;

if(n==g*g*g+s*s*s+b*b*b)

cout<

}

return0;

}

第29题:

判断一个数是否为“水仙花数”,如果是则输出YES,否则输出NO。

所谓“水仙花数”是指一个3位数,其各位数字的立方和等于该数本身。

例如,153是一个“水仙花数”,因为153=13+53+33。

样例输入:

1

样例输出:

NO

样例输入:

153

样例输出:

YES 

#include

intmain()

{intn,g,s,b;

cin>>n;

g=n%10;

s=(n/10)%10;

b=(n/100)%10;

if(n==g*g*g+s*s*s+b*b*b)

cout<<"YES";

else

cout<<"NO";

return0;

}

第30题:

一个数恰好等于它的因子之和,这个数就称为“完数”。

例如,6的因子为1、2、3,并且6=1+2+3,因此6是“完数”。

编写程序找出小于给定数n的所有“完数”,n由键盘输入。

样例输入:

1000

样例输出:

628496

#i

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

当前位置:首页 > 高等教育 > 院校资料

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

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