二级C语言上机题及答案2012年预测51套.docx
《二级C语言上机题及答案2012年预测51套.docx》由会员分享,可在线阅读,更多相关《二级C语言上机题及答案2012年预测51套.docx(105页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2012二级C语言上机预测题目录、程序填空题二、程序修改题三、程序编写题参考答案二级C语言上机考试复习资料,共有50套题目一、程序填空题1、给定程序中,函数fijn的功能是:在任意给定的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 int fun(intN 9x口) 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) /* on nd* * */t=bi;bri=_1; bk=t; )/* fou n d */mid=bl2;for(i=0; iN; i+)/* fou n d */if(xil3mid) xi=mid;return mid;)main() int i, xNJ= 1,5,7,2
3、3,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、给定程序中,函数ftin的功能是建立一个NXN的矩阵。矩阵元素的构成规律是:最外层元素 的值全部为1;从外向内第2层元素的值全部为2;第3层元素的值全部为3,依次类推。例如,若N=5,生成的矩阵为:1111112221123211222111111请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放
4、在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include #define N 7/* fou n d */ void fun(int (*a)_l_) int i,j,k,m;if(N%2=0) m=N/2 ;elsem=N/2+l;for(i=0; im; i+) /* fou n d */for(j= _2_ ; jN-i; j+) aij=aN-i-lj=i+l;for(k=i+l; kN-i; k+)/* ou nd* * */aki=akN-i-l= _3一;)main() int xNN=O,i,j;fun(x);printf(nThe resul
5、t is:n);for(i=0; iN; i+) for(j=0; jN; j+) printf(%3d,xij); printf(n);)3、给定程序中,函数fun的功能是:将s所指字符串中的所有数字字符移到所有非数字字符之后, 并保持数字字符串和非数字字符串原有的先后次序。例如,形参s所指的字符串为:def35adh3kjsdf7o 执行结果为:defadhkjsdf3537o请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include void fun(char *s) i
6、nt i,j=0, k=0; char tl 80, t280;for(i=0; si!=,0,; i+)if(si=0, & sil0;/* ou nd*/for(i=0; ik; i+)for(i=0; i3; i+) sk+i=t2i;)main() char s80=def35adh3kjsdf7;printfCXnThe original string is : %snH,s);fun(s);printf(MnThe result is : %snM,s);4、给定程序中,函数fun的功能是:有NXN矩阵,以主对角线为对称线,对称元素相加并将结果 存放在左下三角元素中,右上三角元素置
7、为0。例如,若N=3,有下列矩阵:123456789计算结果为10065010149请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include #define N 4/* fou n d */ void fun(int (*t)1) int i, j;for(i=l; iN; i+) for(j=0; ji; j+) /* *fou nd*/_2/* ou nd* * */3=0;)main() int tN=21,12,l3,24,25,16,47,38,29,11,32,
8、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+) printf(%2dprintf(n);5、给定程序中,函数fun的功能是:对形参s所指字符串中下标为奇数的字符按ASCH码大小递增 排序,并将排序后下标为奇数的字符取出,存入形参p所指字符数组中,形成一个新串。例如,形参s所指的字符串为:baaw
9、rskjghzlicda,执行后p所指字符数组中的字符串应为:aachjlswo 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include void fun(char *s, char *p) int i, j, n, x, t;n=0;for(i=0; si!=0; i+) n+;for(i=l; in-2; i=i+2) /* ou nd*/for(j=2_+2 ;js|j) t=j;if(t!=i) x=si; si=st; st=x; for(i=l,j=0; in;
10、 i=i+2, j+) pj=si;/* fou n d */Plj=_3_;|main() char s80=baawrskjghzlicda, p50;printf(MnThe original string is : %sn*s);fun(s,p);printf(MnThe result is : %sn,p);6、程序通过定义并赋初值的方式,利用结构体变量存储了一名学生的信息。函数ftin的功能是输出 这位学生的信息。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#incl
11、ude typedef struct int num;char name9;char sex;struct int year,month,day ; birthday;float score3;STU;/* ou nd*/void show(STU 1) int i;printf(n%d %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+)/* fou nd*/printf(%5.1f2一);printf(n);|main()
12、STU std= 1 ,Zhanghua;M, 1961,10,8,76.5,78.0,82.0 ); printf(nA student data:n);/* fou n d */show(3);)7、给定程序中,函数ftin的功能是:计算NXN矩阵的主对角线元素和反向对角线元素之和,并作 为函数值返回。注意:要求先累加主对角线元素中的值,然后累加反向对角线元素中的值。例如,若 N=3,有下列矩阵:369ftin函数首先累加1、5、9,然后累加3、5、7,函数的返回值为30。请在程序的下划线处填入正确的内容并把卜一划线删除,使程序得出正确的结果。注意:#include#define源程序存放
13、在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构!N 4 fun(int tJNJ, int n) int i, sum;/* ou nd* * */for(i=0; in; i+)/*n d */sum+=2;for(i=0; in; i+)/* ou nd* * */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
14、+) printf(%4d,tij);printf(n);)printf(The result is: %d,fun(t,N);)8、给定程序中,函数firn的功能是:计算形参x所指数组中N个数的平均值(规定所有数均为正数),作为函数值返回;并将大于平均值的数放在形参y所指数组中,在主函数中输出。例如,有 10 个正数:46 30 32 40 6 17 45 15 48 26,平均值为:30.500000主函数中输出:46 32 40 45 48请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程
15、序的结构!#include #include #define N 10 double fun(double x,double *y) int i,j; double av;/* fou n d */ av=_1_;/* ou nd*/for(i=0; iN; i+) av = av + _2_; for(i=j=0; iav) y一3一= xi;double xN = 46,30,32,40,6,17,45,15,48,26); yN;for(i=0; i=0; i+) printf(%5.0f ,yi); printf(n);)9、给定程序中,函数ftin的功能是:计算形参x所指数组中N个数
16、的平均值(规定所有数均为正 数),将所指数组中小于平均值的数据移至数组的前部,大于等于平均值的数据移至x所指数组的后部, 平均值作为函数值返回,在主函数中输出平均值和移动后的数据。例如,有 10 个正数:463032406 17 45 15 4826,平均值为:30.500000移动后的输出为:30 617152646 32 40 45 48请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include #include #define N 10double fun(double
17、*x) int i, j; double av, yN;av=0;/* ou nd*/for(i=0; iN; i+) av +=_1_;for(i=j=0; iN; i+)if( xiav)/* *fou nd* */yj=xi; xi=-l;_2_;) i=0;while(iN) if( xi!= -1 ) yj+=xi;/* fou n d */3 ;for(i=0; iN; i+)xi = yi; return av;) main()double xN; intfor(i=0; iN; i+) xi=rand()%50; printf(%4.0f ,xi); printf(n);pri
18、ntf(nThe average is: %fn,fun(x);printf(nThe result :n,fun(x);for(i=0; iN; i+) printf(%5.0f ,xi);printf(n);)10、给定程序中,函数ftin的功能是:计算形参x所指数组中N个数的平均值(规定所有数均为正 数),将所指数组中大于平均值的数据移至数组的前部,小于等于平均值的数据移至x所指数组的后部, 平均值作为函数值返回,在主函数中输出平均值和移动后的数据。例如,有 10 个正数:46 30 32 40 6 17 45 15 48 26,平均值为:30.500000移动后的输出为:46 32 4
19、0 45 48 30 6 17 15 26请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include#include#defineN 10 double fun(double *x) int i, j; double s, av, yN;s=0;for(i=0; iN; i+) s=s+xi;/* fou n d */av=_1_;for(i=j=0; iav)/* ou nd* * */y_2_=xi; xli=-l; for(i=0; iN; i+)/* *fou nd *
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二级 语言 上机 答案 2012 预测 51
限制150内