C++改错和填空题题库.docx
- 文档编号:12967240
- 上传时间:2023-06-09
- 格式:DOCX
- 页数:72
- 大小:28.61KB
C++改错和填空题题库.docx
《C++改错和填空题题库.docx》由会员分享,可在线阅读,更多相关《C++改错和填空题题库.docx(72页珍藏版)》请在冰点文库上搜索。
C++改错和填空题题库
━━━━━━━━━━━━━━━━━
一、程序改错
━━━━━━━━━━━━━━━━━
第1题
/*
【程序改错】
题目:
用顺序交换法将12个整数中处于奇数位的数从大到小排序。
注意:
不可以增加或删除程序行,也不可以更改程序的结构。
*/
<>
()
/**********************/
{m[12];
/**********************/
(1<=12)
>>m[i];
(0<112)
/**********************/
(1<11)
/**********************/
(m[i]>m[j])
{[i];
m[i][j];
m[j];
}
(0<12)
< } 答案: 1).{m[12]; 2).(0<12)或(0<=11) 3).(2<112)或(2<112) 4).(m[j]>m[i])或(m[i] 第2题 /* 【程序改错】 题目: 在一个具有n个数的数组中查找并删除一个数K。 注意: 不可以增加或删除程序行,也不可以更改程序的结构。 */ n10 <> () { /**********************/ a[n]; /**********************/ (1<) >>a[i]; >>k; /**********************/ (1<[i]); (i {(<1) a[j][1]; /**********************/ (0<) < } {<<""; (0<) < } } 答案: 1).a[n]; 2).(0<) 3).(0<[i]); 4).(0<1) 第3题 /* 【程序改错】 题目: 利用插入法将20个数排列成降序,并计算输入序列中第10个数到第20个数的和. 注意: 不可以增加或删除程序行,也不可以更改程序的结构。 */ <> () {[21]={1,3,5,7,9,2,4,6,8,10,13,65,76,34,23,15,64,33,234,66}; /**********************/ ; (2<=20) {1; a[0][j]; /**********************/ (k>=0[k]>a[0]) { /**********************/ a[k][1]; ; } /**********************/ a[k][0]; } (1<=20) < 0.0; (10<=20) [j]; < } 答案: 1).; 2).(m=0) 3).a[1][k]; 4).a[1][0]; 第4题 /* 【程序改错】 题目: 将十进制正整数n转化为二进制数输出 注意: 不可以增加或删除程序行,也不可以更改程序的结构。 */ <> () { m[50]1[50]1; >>n; 0; (n>0) { /**********************/ n12; /**********************/ m1[i]2; /**********************/ n1; ; } (1<) /**********************/ m1[1][j]; (1<) < } 答案: 1).n12; 2).m1[i]2; 3).1; 4).m[j]=m1[]; 第5题 /* 【程序改错】 题目: 判断一个自然数是否为降序数(若D1D2D3……满足>1, 1<<,则D1D2……为降序数,如54321) 注意: 不可以增加或删除程序行,也不可以更改程序的结构。 */ <> () {m[100]; >>n; (00) { /**********************/ m[i]10; /**********************/ 10; } /**********************/ (0<[j] /**********************/ (j<) <<""; <<""; } 答案: 1).m[i]10; 2).10; 3).(0<1[j] 4). (1) 第6题 /* 【程序改错】 题目: 用二分法在一组按升序的数中找出指定的数K. 注意: 不可以增加或删除程序行,也不可以更改程序的结构。 */ <> () { a[20]; >>n; (0<) >>a[i]; >>k; 0; 01; /**********************/ (i<0) {()/2; ([m]) /**********************/ 0; /**********************/ (k>a[m]) 1; 1; } /**********************/ (1) <<""< <<""; } 答案: 1).(i<0) 2).1; 3).(k 4). (1) 第7题 /* 【程序改错】 题目: 打印扬辉三角形 1 11 121 1331 13641 注意: 不可以增加或删除程序行,也不可以更改程序的结构。 */ <> () {a[5][5]; (0<5) { /**********************/ a[i][1]=1; a[i][i]=1; (1<1) /**********************/ a[i][j][1][1][i][j]; } (0<5) { /**********************/ (0<5) /**********************/ < <<; } } 答案: 1).a[i][0]=1; 2).a[i][j][1][1][1][j]; 3).(0<) 4).< 第8题 /* 【程序改错】 题目: 用”筛选法”判断并输出1-100之间的素数. 注意: 不可以增加或删除程序行,也不可以更改程序的结构。 */ <> () { a[101]; (1<=100) a[i]=1; a[1]=0; (2<=50) { /**********************/ 1; (i*j<=100) { /**********************/ a[i][j]=0; ; } } (1<=100) /**********************/ (a[i]=1) /**********************/ < } 答案: 1).2; 2).a[i*j]=0;或a[j*i]=0; 3).(a[i]1)或(a[i]) 4).< 第9题 /* 【程序改错】 题目: 下面函数将一个整数字符串转换为一个整数。 注意: 不可以增加或删除程序行,也不可以更改程序的结构。 */ <> <> (*) { 0; /**********************/ (); /**********************/ (0<); { 1; 1; <<<<; (j>0) { *10; /**********************/ ; } /**********************/ *(4)-'0'; *k; } ; } () {*"1234"; (a); < } 答案: 1).(); 2).(0<) 3).;或;或1;或1; 4).*()-'0'; 第10题 /* 【程序改错】 题目: 将1到255之间的任意一个十进制转换成二进制. 注意: 不可以增加或删除程序行,也不可以更改程序的结构。 */ <> () {a[8]; /**********************/ < 0; (0) { 2; a[k]2; /**********************/ ; /**********************/ m=n; } /**********************/ (>=1) < } 答案: 1).>>n; 2).; 3).; 4).(1>=0) 第11题 /* 【程序改错】 题目: 打印出1000以内的同时满足如下条件的数 个位数字与十位数字之和除以10所得的余数等于百位数字 注意: 不可以增加或删除程序行,也不可以更改程序的结构。 */ <> <> () { /**********************/ ; (3<1000) /**********************/ {(21<(i)) /**********************/ (1)0; /**********************/ (0) {100; (*100)/10; *100*10; ()/10*10; () < } } } 答案: 1).; 2).{(21<(i)) 3).(0)0;或(0)0; 4). (1)或()或(0) 第12题 /* 【程序改错】 题目: 统计100-300之间同时被3,7整除的数的个数,输出这些数 的个数及它们的平方和434385. 注意: 不可以增加或删除程序行,也不可以更改程序的结构。 */ <> () {; /**********************/ k; 0; /**********************/ 1; (100<=300) { /**********************/ n37=73; /**********************/ (n37=0) {; *k; } } < } 答案: 1).n37; 2).0; 3).n3773; 4).(n370) 第13题 /* 【程序改错】 题目: 在[100,5000]之间打印出各位数字和为5的所有整数的个数. 注意: 不可以增加或删除程序行,也不可以更改程序的结构。 */ <> () { ; 0; (104<=500) { /**********************/ 100; (*100)/10; *100*10; } /**********************/ (<>5); (1000<=5000) {1000; (*1000)/100; /**********************/ (*1000*100)/100; *1000*100*10; /**********************/ (5); } < } 答案: 1).100; 2).(5); 3).(*1000*100)/10; 4).(5); 第14题 /* 【程序改错】 题目: 下列程序是求某班级的最高成绩、最低成绩和平均成绩 的程序,输入-1表示结束。 注意: 不可以增加或删除程序行,也不可以更改程序的结构。 */ <> () {; n; /**********************/ 0 >>; /**********************/ 0; /**********************/ 0; >>; /**********************/ (0) {; ; (>); (<); >>; } ; <<<<<<; } 答案: 1).1; 2).; 3).; 4).(>=0) 第15题 /* 【程序改错】 题目: 计算1-1/2+2/3-3/4+……-29/30 注意: 不可以增加或删除程序行,也不可以更改程序的结构。 */ <> () /**********************/ {t1;1; /**********************/ 1; /**********************/ (1<=30) { /**********************/ t1= (1); 1*f; ; } < } 答案: 1).{t11; 2).1; 3).(2<=30) 4).t1=() (1);或t1= (1)/()k;或t1=1.0* (1); 第16题 /* 【程序改错】 题目: 计算输出100-200之间素数的平方根之和 注意: 不可以增加或删除程序行,也不可以更改程序的结构。 */ <> <> () { ; ; 0; /**********************/ (100<=1992) {(n); /**********************/ 0; /**********************/ (2<) (0)0; /**********************/ (0) ; } < } 答案: 1).(101<=1992)或(100<=1991)或(100<=2001)或(101<=2002) 2).1 3).(2<0) 4).(0) 第17题 /* 【程序改错】 题目: 计算并输出100—200之间的所有素数的平方根之和. 注意: 不可以增加或删除程序行,也不可以更改程序的结构。 */ <> <> () {; ; 0.0; (101<=1992) {(n); ; 3; 0; /**********************/ (k<0) { /**********************/ (0)0; /**********************/ ; } /**********************/ (f); } < } 答案: 1).(k<0) 2).(0)1; 3).; 4).();}或(0);} 第18题 /* 【程序改错】 题目: 一个数列的头三个数是0,0,1,第四个数是前三个数之和, 以后每个都是前三个数之和,问当该数列中的某个数值达 到10的15次方,它是该数列的第几项? 注意: 不可以增加或删除程序行,也不可以更改程序的结构。 */ <> () /**********************/ {; 0; 1; 3; (k<1e15) {; ; /**********************/ j=i; /**********************/ k=j; /**********************/ ; } < } 答案: 1).{; 2).; 3).; 4).; 第19题 /* 【程序改错】 题目: 类B是类A的友元类,程序的运行结果为: 20 10 注意: 不可以增加或删除程序行,也不可以更改程序的结构。 */ <> <> A { : x; : A(a){;} /**********************/ B; }; /**********************/ B { : x; : B(a){;} /**********************/ (A){;} (){x;} }; () { Aa(10); Bb(20); <<()<<; (a); /**********************/ <<()<<; } 答案: 1).B; 2).B 3).(A){;} 4).<<()<<; ━━━━━━━━━━━━━━━━━ 二、程序设计 ━━━━━━━━━━━━━━━━━ 第1题 /* 【程序设计】 输入一组非0整数(以输入0作为输入结束标志)到一维数组中,设计一程序, 求出这一组数的平均数,并分别统计出这一组数中正数和负数的个数。 注意: 程序编写在下面的和区域。 */ /********************/ <> () { a[100][100][100]; 2100; 0; <<"请输入一组整数(o结束): "; 0; { >>a[i]; [i]; ; }(a[1]); 1; <<"共输入"< "<<; (0<) (a[i]>0); (a[i]<0); ; <<"这组数的平均值为"<<<<; <<"其中输入的正整数个数为: "< <<"其中输入的负整数个数为: "< } /********************/ 第2题 /* 【程序设计】 用()将一个字符串出入到字符数组中,按反序输出。 例如: 输入"e",则输出"e"。 注意: 程序编写在下面的和区域。 */ /********************/ <> () { s[30]; <<"请输入字符串: "; (s,30); 0; (s[]'\0'); 2; <<"反序后为: "; (>=0) < <<; } /********************/ 第3题 /* 【程序设计】 题目: 从键盘输入一组整数,以999结束。 要求: 1.写一符号函数实现判断一个整数的符号,正数返回1;负数返回-1;0返回0。 2.在主函数中调用符号函数,统计正负数及0的个数,并输出。 */ 第4题输 /* 【程序设计】 用()将一个字符串输入到字符数组S(S[200])中, 删除字符串中的所有空格后输出。 注意: 程序编写在下面的和区域。 */ /********************/ <> <> (){ s[200][200]; 00; <<"请输入字符串(回车结束): "; (s,200); <<""< (<(s)) (s[i]''<(s))t[][i]; t[j]='\0'; <<""< } /********************/ 第5题 /* 【程序设计】 设计一个函数(s[]),求出字符串s中包含的字符个数, 并作为函数的返回值(要求不使用的库函数()); 在主函数中测试所定义的函数。 注意: 程序编写在下面的和区域。 */ /********************/ <> (s[]) { (0[i]); < i; } () { a[30]; <<"请输入字符串: "; (a,30); <<'\n'<<"字符串的长度为: "<<(a)<<; } /********************/ 第6题 /* 【程序设计】 先输入一个4*4的距阵,转置后输出结果。 例如: 1234 5678 9101112 13141516 转置后为: 15913 261014 371115 481216 注意: 程序编写在下面的和区域。 */ /********************/ <> <> () { [4][4]1; (0<4) (0<4) a[i][j]; <<"输出数组\n"; (0<4) { (0<4) <<(4)< <<; } <<; (0<4) (<4) { [i][j]; a[i][j][j][i]; a[j][i]; } <<"转置后的数组\n"; (0<4) { (0<4)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 改错 填空 题库