C++期末考试复习题经典大题整合.docx
- 文档编号:8280019
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:16
- 大小:18.48KB
C++期末考试复习题经典大题整合.docx
《C++期末考试复习题经典大题整合.docx》由会员分享,可在线阅读,更多相关《C++期末考试复习题经典大题整合.docx(16页珍藏版)》请在冰豆网上搜索。
C++期末考试复习题经典大题整合
C++期末练习题
7、下面程序的功能是:
求a的b次方,并输出,请填空。
#include
usingnamespacestd;
doublefun(doublea,intb)
{inti;
doublez;
for(i=1,z=1;i<=b;i++)
①z*=a;
②returnz;
}
intmain()
{doublea;intb;
cout<<”请输入a的值:
”;
③cin>>a;
cout< cout<<”请输入b的值: ”; ④cin>>b; cout< cout<<⑤fun(a,b); cout< return0;} 8、下面函数是检验输入的字符是大写还是小写或者不是26个字母,请填空。 #include usingnamespacestd; ①int; fun(charch) {inti; if((ch>=’a’)&&(ch<=’z’)) i=1; else{if(②(ch>=’A’)&&(ch<=’Z’)) i=2; elsei=3;} ③returni;} intmain() {inti; cout<<”请输入一个字符: ”; cin>>ch; i=fun(ch); if(i==1) cout<<”是小写字母: ”< elseif(④i==2) cout<<”是大写字母: ”< elsecout<<”是其它字符: ”< return0;} 9、下面是字符串拷贝程序,请填空。 voidccopy() {charch1[]=”goodmorning! ”,ch2[20]; inti=0,j=0; while(①ch1[i++]) {ch2[j]=②ch1[i-1]; ③j++; } ④ch2[i-1]=’\0’; } 10、下面函数是寻找二维数组中每一行的最大值,请填空。 #defineN5 #defineM5 voidmax(inta[N][M]) {inti,j,p; for(i=0;i {①p=0; for(j=1;j if(a[i][p] ②p=j; cout< ”< } } 11、下面程序是将字符逆序化,请填空。 #include usingnamespacestd; ①intj=0; intmain() {charch[]=”hello,boy! ”; charc; inti=0,j=strlen(ch); for(;②i {c=ch[i]; ③ch[i]=ch[j-1]; ch[j-1]=c; } cout< return0; } 12、下面程序的功能是将矩阵转置,请填空。 #include usingnamespacestd; #defineI3 #defineJ4 voidinvert(inta[I][J]) {inti,j; intb[J][I]; cout<<”arraya: ”< for(i=0;i {for(j=0;j {cout< ①b[j][i]=a[i][j]; } cout< } cout<<”arrayb: ”< for(i=0;i {for(j=0;j cout< cout< } } intmain() {inta[I][J]={{1,2,3,4},{5,6,7,8},{1,3,5,7}}; ②invert(a); return0; } 三、程序分析题 1、下面程序的输出结果是( 816 ) #include usingnamespacestd; intfunc(inta,intb) {staticintm=0;inti=2; i+=m+1; m=i+a+b; return(m); } intmain() {intk=4,m=1,p; p=func(k,m); cout< p=func(k,m); cout< return0;} 2、下面程序的输出结果是( 61515 ) #include usingnamespacestd; intd=1; fun(intp) {staticintd=5; d+=p; cout< return(d); } intmain() {inta=3; cout< return0;} 3、下面程序的执行结果是( hlo ) #include usingnamespacestd; charch[]=”hello,boy! ”; voidfun2(inti); voidfun1(inti) {cout< if(i<3) {i+=2; fun2(i);} } voidfun2(inti) {cout< if(i<3) {i+=2; fun1(i);}} intmain() {inti=0; fun1(i); cout< return0; } 4、下面程序的执行结果是(Thearrayis: (换行)a[0]is0a[1]is1a[2]is2a[3]is2a[4]is6a[5]is14) #include usingnamespacestd; intmain() {inta[10]={0,1,2}; intj; for(j=2;j<6;j++) a[j+1]=a[j]+2×a[j-1]×a[j-2]; cout<<”Thearrayis: ”< for(j=0;j<6;j++) cout<<”a[“< return0;} 5、当输入123时,下列程序的输出结果是( 123 ) #include usingnamespacestd; intmain() {intstr[3],i,*p=str; for(i=0;i<3;i++) {cin>>*p++; cout<<*(p-1);} return0;} 6、下面程序的输出结果是( 6 ) #include usingnamespacestd; voidfunc(int*a,intb[]) {b[0]=*a+6;} intmain() {inta,b[5]; a=0;b[0]=3; func(&a,b); cout< return0;} 7、下列程序的输出结果是( 6 ) #include usingnamespacestd; intb=2; intfunc(int*a) {b+=*a; return(b);} intmain() {inta=2,res=2; res+=func(&a); cout< return0;} 8、下面程序的输出结果是( 3600 ) #include usingnamespacestd; intw=3; intfun(int); intmain() {intw=10; cout< return0;} intfun(intk) {if(k==0)returnw; return(fun(k-1)*k);} 9、下面程序的输出结果是( 789 ) #include usingnamespacestd; intf(int); intmain() {inta=2,j; for(j=0;j<3;j++) cout< cout< return0;} intf(inta) {intb=0; staticintc=3; b++;c++; return(a+b+c);} 四、应用题 a)从键盘上输入10个int型数,去掉重复的,将剩余的由大到小排序输出。 b)输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。 c)/有n个人围成一圈,顺序排号。 从第1个人开始报数,凡报到3(1~3报数)的人退出圈子,问最后留下的人原来排在第几号。 d)将一个数组中的值按逆序重新存放。 e)猴子吃桃问题。 猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。 第二天将剩下的桃子吃掉一半,且又多吃了一个。 以后每天都吃了前一天剩下的一半另加一个。 到第10天想再吃时,就只剩一个桃子了。 求第一天共摘了多少桃子。 f)输入圆柱体的底圆半径和圆柱体的高,求出底面面积、表面积及其体积。 要求用虚函数实现。 g)编写程序,将键盘上输入的任意正整数逆转,如输入1234,输出4321。 h)编写程序,找出100~200间的全部素数。 (要求加注释) 提示: 判别m是否为素数的算法是: 让m被2~√m(根号m)除,如果不能被其中的任何一个整数整除,就可以确定m是素数。 (a)//从键盘上输入10个int型数,去掉重复的,将剩余的由大到小排序输出。 #include usingnamespacestd; voidmain() { inti,j,a[10],t,k=0; for(i=0;i<10;i++) cin>>a[i]; for(i=0;i<9-k;i++) for(j=i+1;j<10-k;j++) { if(a[i]==a[j]) { t=a[j]; a[j]=a[9-k]; a[9-k]=t; k++; j--; } elseif(a[i] { t=a[i]; a[i]=a[j]; a[j]=t; } } for(i=0;i<10-k;i++)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 期末考试 复习题 经典 整合