《C++上机试题及答案 .》由会员分享,可在线阅读,更多相关《C++上机试题及答案 .(38页珍藏版)》请在金锄头文库上搜索。
1、新视野教育内部资料 027-88393582 版权所有 翻印必究二级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 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的B
2、LANK1.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,23,87,
3、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(x);
5、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中。 不得增行或删行,也不得更改程序的结构!#include
6、 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(nTh
7、e 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; iN
8、; 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+) print
9、f(%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, n,
10、 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 : %sn,p); 6、程序通过定义并赋初值的方式,利用结构体变量存储了一名学生的信息。函数fun的功能是输出这位学生的信息。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构!#include typedef struct int num; char name9; char sex; struct int year,month,day ; birthday; float score3;STU;/*