C++上机试题及答案.doc
《C++上机试题及答案.doc》由会员分享,可在线阅读,更多相关《C++上机试题及答案.doc(33页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、如有侵权,请联系网站删除,仅供学习与交流C+上机试题及答案【精品文档】第 33 页二级C语言上机考试复习资料,共有50套题目一、程序填空题 1、给定程序中,函数fun的功能是:在任意给定的9个正整数中找出按升序排列时处于中间的数,将原数据序列中比该中间数小的数用该中间数替换,位置不变,在主函数中输出处理后的数据序列,并将中间数作为函数值返回。 例如,有9个正整数:1 5 7 23 87 5 8 21 45 按升序排列时的中间数为:8 处理后主函数中输出的数列为:8 8 8 23 87 8 8 21 45 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在
2、考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构!#include #define N 9int fun(int x) int i,j,k,t,mid,bN; for(i=0;iN;i+) bi=xi; for(i=0;i=N/2;i+) k=i; for(j=i+1;jbj) k=j; if(k != i )/*found*/ t=bi; bi=_1_; bk=t;/*found*/ mid=b_2_; for(i=0; iN; i+)/*found*/ if(xi _3_ mid) xi=mid; return mid;main() int i, xN=1,5,7,
3、23,87,5,8,21,45; for(i=0; iN; i+) printf(%d ,xi); printf(nThe mid data is: %dn,fun(x); for(i=0; iN; i+) printf(%d ,xi); printf(n); 2、给定程序中,函数fun的功能是建立一个NN的矩阵。 矩阵元素的构成规律是:最外层元素的值全部为1;从外向内第2层元素的值全部为2;第3层元素的值全部为3,依次类推。例如,若N=5,生成的矩阵为: 1 1 1 1 1 1 2 2 2 1 1 2 3 2 1 1 2 2 2 1 1 1 1 1 1 请在程序的下划线处填入正确的内容并把下
4、划线删除, 使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构!#include #define N 7/*found*/void fun(int (*a) _1_) int i,j,k,m; if(N%2=0) m=N/2 ; else m=N/2+1; for(i=0; im; i+) /*found*/ for(j= _2_ ; jN-i; j+) aij=aN-i-1j=i+1; for(k=i+1; kN-i; k+)/*found*/ aki=akN-i-1= _3_;main() int xNN=0,i,j; fun
5、(x); printf(nThe result is:n); for(i=0; iN; i+) for(j=0; jN; j+) printf(%3d,xij); printf(n); 3、给定程序中,函数fun的功能是: 将s所指字符串中的所有数字字符移到所有非数字字符之后,并保持数字字符串和非数字字符串原有的先后次序。例如,形参s所指的字符串为:def35adh3kjsdf7。执行结果为:defadhkjsdf3537。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构!#in
6、clude void fun(char *s) int i, j=0, k=0; char t180, t280; for(i=0; si!=0; i+) if(si=0 & si=9)/*found*/ t2j=si; _1_; else t1k+=si; t2j=0; t1k=0;/*found*/ for(i=0; ik; i+) _2_;/*found*/ for(i=0; i_3_; i+) sk+i=t2i;main() char s80=def35adh3kjsdf7; printf(nThe original string is : %sn,s); fun(s); printf
7、(nThe result is : %sn,s); 4、给定程序中,函数fun的功能是:有NN矩阵,以主对角线为对称线,对称元素相加并将结果存放在左下三角元素中,右上三角元素置为0。例如,若N=3,有下列矩阵: 1 2 3 4 5 6 7 8 9计算结果为 1 0 0 6 5 0 10 14 9 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构!#include #define N 4/*found*/void fun(int (*t)_1_ ) int i, j; for(i=1
8、; iN; i+) for(j=0; ji; j+)/*found*/ _2_ =tij+tji;/*found*/ _3_ =0;main() int tN=21,12,13,24,25,16,47,38,29,11,32,54,42,21,33,10, i, j; printf(nThe original array:n); for(i=0; iN; i+) for(j=0; jN; j+) printf(%2d ,tij); printf(n); fun(t); printf(nThe result is:n); for(i=0; iN; i+) for(j=0; jN; j+) pri
9、ntf(%2d ,tij); printf(n); 5、给定程序中,函数fun的功能是:对形参s所指字符串中下标为奇数的字符按ASCII码大小递增排序,并将排序后下标为奇数的字符取出,存入形参p所指字符数组中,形成一个新串。 例如,形参s所指的字符串为:baawrskjghzlicda,执行后p所指字符数组中的字符串应为:aachjlsw。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构!#include void fun(char *s, char *p) int i, j,
10、n, x, t; n=0; for(i=0; si!=0; i+) n+; for(i=1; in-2; i=i+2) /*found*/ _1_;/*found*/ for(j=_2_+2 ; jsj) t=j; if(t!=i) x=si; si=st; st=x; for(i=1,j=0; in; i=i+2, j+) pj=si;/*found*/ pj=_3_;main() char s80=baawrskjghzlicda, p50; printf(nThe original string is : %sn,s); fun(s,p); printf(nThe result is :
11、 %sn,p); 6、程序通过定义并赋初值的方式,利用结构体变量存储了一名学生的信息。函数fun的功能是输出这位学生的信息。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构!#include typedef struct int num; char name9; char sex; struct int year,month,day ; birthday; float score3;STU;/*found*/void show(STU _1_) int i; printf(n%d
12、 %s %c %d-%d-%d, tt.num, tt.name, tt.sex, tt.birthday.year, tt.birthday.month, tt.birthday.day); for(i=0; i3; i+)/*found*/ printf(%5.1f, _2_); printf(n);main( ) STU std= 1,Zhanghua,M,1961,10,8,76.5,78.0,82.0 ; printf(nA student data:n);/*found*/ show(_3_); 7、给定程序中,函数fun的功能是:计算NN矩阵的主对角线元素和反向对角线元素之和,并
13、作为函数值返回。注意:要求先累加主对角线元素中的值,然后累加反向对角线元素中的值。例如,若N=3,有下列矩阵: 1 2 3 4 5 6 7 8 9fun函数首先累加1、5、9,然后累加3、5、7,函数的返回值为30。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构!#include #define N 4fun(int tN, int n) int i, sum;/*found*/ _1_; for(i=0; in; i+)/*found*/ sum+=_2_ ; for(i=0
14、; in; i+)/*found*/ sum+= tin-i-_3_ ; return sum;main() int tN=21,2,13,24,25,16,47,38,29,11,32,54,42,21,3,10,i,j; printf(nThe original data:n); for(i=0; iN; i+) for(j=0; jN; j+) printf(%4d,tij); printf(n); printf(The result is: %d,fun(t,N); 8、给定程序中,函数fun的功能是:计算形参x所指数组中N个数的平均值(规定所有数均为正数),作为函数值返回;并将大于平
15、均值的数放在形参y所指数组中,在主函数中输出。 例如,有10个正数:46 30 32 40 6 17 45 15 48 26,平均值为:30.500000 主函数中输出:46 32 40 45 48 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构!#include #include #define N 10double fun(double x,double *y) int i,j; double av;/*found*/ av=_1_;/*found*/ for(i=0; iN
16、; i+) av = av + _2_; for(i=j=0; iav) y_3_= xi; yj=-1; return av;main() int i; double xN = 46,30,32,40,6,17,45,15,48,26; double yN; for(i=0; i=0; i+) printf(%5.0f ,yi); printf(n); 9、给定程序中,函数fun的功能是:计算形参x所指数组中N个数的平均值(规定所有数均为正数),将所指数组中小于平均值的数据移至数组的前部,大于等于平均值的数据移至x所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。 例
17、如,有10个正数:46 30 32 40 6 17 45 15 48 26,平均值为:30.500000 移动后的输出为:30 6 17 15 26 46 32 40 45 48 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构!#include #include #define N 10double fun(double *x) int i, j; double av, yN; av=0;/*found*/ for(i=0; iN; i+) av +=_1_; for(i=j=0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 上机 试题 答案
限制150内