华北电力大学c++题库.docx
- 文档编号:7515779
- 上传时间:2023-01-24
- 格式:DOCX
- 页数:25
- 大小:44.23KB
华北电力大学c++题库.docx
《华北电力大学c++题库.docx》由会员分享,可在线阅读,更多相关《华北电力大学c++题库.docx(25页珍藏版)》请在冰豆网上搜索。
华北电力大学c++题库
C++期中题库
顺序结构上机题
1.输入圆的半径和圆柱的高,依次输出圆周长、圆面积、圆球表面积、圆柱体积(以空格分隔,π取3.14)。
样例输入:
1.5 3
样例输出:
9.42 7.065 28.26 21.195
#include
intmain()
{floats,c,d,v,r,h;
cin>>r>>h;
c=3.14*2*r;
s=3.14*r*r;
d=4*3.14*r*r;
v=s*h;
cout< 2输入一个华氏温度,要求输出摄氏温度。 公式为: c=5/9*(F-32)。 样例输入: 100 样例输出: 37.7778 #include intmain() {floatc,f; cin>>f; c=5.0/9*(f-32); cout<<""< } } 3输入三角形的三条边长a,b,c(要求能构成三角形),求三角形面积。 样例输入: 3.24.45.6 样例输出: 7.02624 #include #include intmain() {floata,b,c,area,s; cin>>a>>b>>c; s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c)); cout< } 4.输入大写字母,输出对应的小写字母。 样例输入: B 样例输出: b #include intmain() {charc1,c2; cin>>c1; c2=c1+32; cout< 5.输入一个正整数n(100<=n<=999),依次输出n的百位数字、十位数字、个位数字(以空格分隔)。 样例输入: 153 样例输出: 153 include intmain() { intn,a,b,c; cin>>n; a=n/100; n=n-a*100; b=n/10; n=n-b*10; c=n; cout< } 选择结构上机题 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() { chara,b,c,d,e; cin>>a>>b>>c>>d>>e; if(a<119) a=a+4; else a=a-22;if(b<119) b=b+4; else b=b-22;if(c<119) c=c+4; else c=c-22;if(d<119) d=d+4; else d=d-22;if(e<119) e=e+4; else e=e-22; cout< return0;} 2.有一分段函数如下,请编写程序,输入x值,输出y值。 样例输入: -2 样例输出: 14.5 样例输入: 1 样例输出: 0.393654 样例输入: 6 样例输出: 0.848872 #include #include intmain() { floatx,y; cin>>x; if(x<0) y=3*x*x-(5/x); elseif(x<5) y=1/(2+cos(x)); else y=sqrt(sin(x)+1); cout< } 3有一分段函数如下,请编写程序,输入x值,输出y值。 样例输入: 0.5 样例输出: 0.5 样例输入: 1 样例输出: 1 样例输入: 15 样例输出: 34 #include intmain() { floatx,y; cin>>x; if(x<1) y=x; elseif(x<10) y=2*x-1; else y=3*x-11; cout< } 4.输入一个不多于5位的正整数,要求分3行输出以下信息,第1行输出它是几位数;第2行从高位到低位依次输出每一位数字(以空格分隔,下同);第3行从低位到高位依次输出每一位数字。 样例输入: 32100 样例输出: 5 32100 00123 样例输入: 40 样例输出: 2 4 0 04 #include intmain() {intx,a,b,c,d,e; cin>>x; a=x/10000; b=(x-a*10000)/1000; c=(x-a*10000-b*1000)/100; d=(x-a*10000-b*1000-c*100)/10; e=x-a*10000-b*1000-c*100-d*10; if(a>0) cout<<"5"<<"\n"< elseif(b>0) cout<<"4"<<"\n"< elseif(c>0) cout<<3<<"\n"< elseif(d>0) cout<<2<<"\n"< else cout<<1<<"\n"< 5.输入三角形的三条边a、b、c,如果能构成三角形,求三角形面积和周长,如果不能构成三角形则输出Error。 样例输入: 4.55.66.7 样例输出: 12.487516.8 样例输入: 1 23 样例输出: Error #include #include intmain() { floata,b,c,d,l,s; cin>>a>>b>>c; if(a+b>c&&a+c>b&&b+c>a) {d=(a+b+c)/2.0; l=2*d; s=sqrt(d*(d-a)*(d-b)*(d-c)); cout< else cout<<"Error"; } 6.有一分段函数如下,请编写程序,输入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< } 7输入年份year,判断是否是闰年,若不是,输出NO,否则输出YES。 样例输入: 2012 样例输出: YES #include intmain() {intyear,a,b,c; cin>>year; a=year%4,b=year%100,c=year%400; if((a==0)&&(b! =0)||(c==0)) cout<<"YES"; else cout<<"NO"; } 8.判断一个数是否为“水仙花数”,如果是则输出YES,否则输出NO。 所谓“水仙花数”是指一个3位数,其各位数字的立方和等于该数本身。 例如,153是一个“水仙花数”,因为153=13+53+33。 样例输入: 1 样例输出: NO 样例输入: 153 样例输出: YES #include #include intmain() { inta,b,c,d,e; cin>>a; if(a>99&&a<1000) {b=a/100; c=(a-b*100)/10; d=a-b*100-c*10; e=b*b*b+c*c*c+d*d*d; if(a==e) cout<<"yes"; elsecout<<"no";} elsecout<<"no"; } 9有一分段函数如下,请编写程序,输入x值,输出y值。 样例输入: -2 样例输出: 7 样例输入: 1 样例输出: 2 样例输入: 11 样例输出: 0.222681 #include #include intmain() {floatx,y; cin>>x; if(x<=-1) y=3*sqrt(fabs(x)+2)+1; else if(x>10) y=sqrt((x+1)/(2*x*x)); else y=x*x*x*x*x+1; cout< } 10.有一分段函数如下,请编写程序,输入x值,输出y值。 样例输入: -1 样例输出: -1.4597 样例输入: -0.5 样例输出: 1.5874 样例输入: 1.57 样例输出: 0.999999 #include #include intmain() {floatx,y; cin>>x; if(x<=-1) y=2*x+cos(x); elseif(x>=1) y=sin(x)*sin(x); else y=1/(pow((x+1),2.0/3)); cout< } 循环结构 1.输入两个正整数m和n,编写程序求其最大公约数和最小公倍数。 样例输入: 1525 样例输出: 575 #include intmain() { inta,b,t,i; cin>>a>>b; if(a>b) {t=a;a=b;b=t;} for(i=1;i<=b;i++) if(a%i==0&&b%i==0) t=i; cout< } 2输出所有大于给定数n的“水仙花数”,n由键盘输入。 所谓“水仙花数”是指一个3位数,其各位数字的立方和等于该数本身。 例如,153是一个“水仙花数”,因为153=13+53+33。 样例输入: 100 样例输出: 153370371407 #include intmain() {intn,i,g,s,b; cin>>n; for(i=n+1;i<=999;i++) {g=i%10; s=i/10%10; b=i/100; if(i==g*g*g+s*s*s+b*b*b) cout< } 3一个数恰好等于它的因子之和,这个数就称为“完数”。 例如,6的因子为1、2、3,并且6=1+2+3,因此6是“完数”。 编写程序找出小于给定数n的所有“完数”,n由键盘输入。 样例输入: 1000 样例输出: 628496 #include intmain() { intn,i,a,b; cin>>n; for(b=2;b {a=0; for(i=1;i if(b%i==0)a=a+i; if(a==b) cout< } return0; } 4一个数恰好等于它的因子之和,这个数就称为“完数”。 例如,6的因子为1、2、3,并且6=1+2+3,因此6是“完数”。 编写程序判断一个数是否为“完数”,如果是则输出YES,否则输出NO。 样例输入: 1 样例输出: NO 样例输入: 6 样例输出: YES #include #include intmain() {intm,j,a; cin>>m; if(m==1) cout<<"no"; else {a=0; for(j=1;j {if(m%j==0) a=a+j;} if(m==a) cout<<"yes"; else cout<<"no";} } 5任何一个大于1的数如果只能被1和这个数自身整除,这个数就称为“素数”或“质数”。 例如,2、3、5是“素数”。 编写程序判断一个数是否为“素数”,如果是则输出YES,否则输出NO。 样例输入: 1 样例输出: NO 样例输入: 2 样例输出: YES #include #include intmain() {intn,a,i; cin>>n; a=0; if(n>1) {for(i=1;i<=n;i++) {if(n%i==0)a++;} if(a==2)cout<<"YES"< elsecout<<"NO"< if(n==1)cout<<"NO"< } 6任何一个大于1的数如果只能被1和这个数自身整除,这个数就称为“素数”或“质数”。 例如,2、3、5是“素数”。 输入m和n(m<=n),编写程序计算[m,n]围“素数”之和。 样例输入: 110 样例输出: 17 #include intmain() { intm,n,a,b,i,s; cin>>m>>n;s=0; for(a=m;a<=n;a++) {b=0; for(i=1;i<=a;i++) {if(a%i==0) b++; } if(b==2) s=s+a;} cout< return0; }7有一分数序列, 计算该序列的前n项和,n由键盘输入。 样例输入: 20 样例输出: 32.6603 #include #include intmain() { intn,i,a,b,d; floats,c; cin>>n; s=0; a=1; b=2; c=b/a; for(i=1;i<=n;i++) { s=s+c; d=a,a=b,b=b+d,c=b*1.0/a; } cout< } 8求数列 计算该序列的前n项和,n由键盘输入。 样例输入: 2 样例输出: 0.5 #include #include intmain() { floati,n,sum,t; cin>>n; sum=0; for(i=1;i<=n;i++) { t=pow((-1),(i+1)); sum=sum+(1/i)*t; } cout< } 9编写程序找出一个正整数n的各位数字中最大的数字,n由键盘输入。 样例输入: 1234 样例输出: 4 #include intmain() {intn,m,a; cin>>n; a=0; while(n>0) {m=n%10; if(m>a) {a=m;} n=n/10; } cout< } 10.编写程序求m到n之间(包括m和n,m<=n)素数的个数及其平均值,如果没有素数则输出NO,m和n由键盘输入。 样例输入: 110 样例输出: 44.25 样例输入: 810 样例输出: NO #include intmain() { intm,n,a,b,j=0,i; floats,e; cin>>m>>n; s=0; for(a=m;a<=n;a++) { b=0; for(i=1;i<=a;i++) { if(a%i==0) b=b++; } if(b==2) {j=j++; s=s+a;} e=s/j;} if(j>0) cout< else cout<<"NO"; }11.编写程序求n的阶乘,n由键盘输入,注意: 。 样例输入: 10 样例输出: 3.6288e+006 #include #include intmain() {floatn,i,s; cin>>n;s=1; for(i=1;i<=n;i++) {s=s*i;} cout< 12.编写程序求n以(包括n)能被3或7整除的所有自然数的倒数之和。 样例输入: 21 样例输出: 1.07857 #include #include intmain() { intn,i; floatsum; cin>>n; sum=0; for(i=1;i<=n;i++) {if(i%3==0)sum=sum+(1.0/i); else {if(i%7==0)sum=sum+(1.0/i);} } cout< } 13.编写程序求所有满足下列条件不大于给定数n(100<=n<=999)的三位数的个数: 个位数字和百位数字之和等于其十位上的数字。 样例输入: 999 样例输出: 45 #include #include intmain() {inti,n,a,b,c,j; cin>>n; j=0; for(i=100;i<=n;i++) {a=i%10; b=(i/10)%10; c=i/100; if(b==a+c)j++;} cout< } 14.求数列 计算该序列的前n项和,n由键盘输入。 样例输入: 50 样例输出: 1.96079 #include #include intmain() {inti,n; floatsum,m; cin>>n; sum=0; m=0; for(i=1;i<=n;i++) {m=m+i; sum=sum+(1.0/m);} cout< } 15.求数列 计算该序列的前N项和,N由键盘输入。 样例输入: 10 样例输出: 4.03791e+006 #include #include intmain() {doubleN,i,t,sum; cin>>N; sum=0; t=1; {for(i=1;i<=N;i++) {t=t*i; sum=sum+t;} cout< } 16.编写程序,从n个整数中找到最小的数并输出。 输入分2行: 第一行为n的值,第二行为n个整数。 样例输入: 5 15320 样例输出: 0 #include intmain() {intn,m,a,i; cin>>n; cin>>m; a=m; for(i=1;i { cin>>m; if(m a=m;}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 华北电力 大学 c+ 题库