二级C语言上机题及答案2012年预测51套.pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《二级C语言上机题及答案2012年预测51套.pdf》由会员分享,可在线阅读,更多相关《二级C语言上机题及答案2012年预测51套.pdf(107页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2012二级C语言上机预测题目录一、程序填空题二、程序修改题三、程序编写题参考答案二 级 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#defineint fun(int不得增行或删行,也不得更改程序的结构!N 9xJ)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 ;jbjj)k=j;if(k!=i)/*f ou nd*/t=bfi;bi=_1_;bfkl=t;/*fou nd*/mid=b_2_;for(i=0;iN;i+)if(xi_3_ mid)xi=mid;return mid;)main()int i,xN=1,5,7,23,87,5,8,21,45;for(i=0;i
3、N;i+)printf(%d,xi);printf(nThe mid data is:%dn,fun(x);for(i=0;iN;i+)printf(%d,xi);printf(n);2、给定程序中,函 数 ftin的功能是建立一个N X N 的矩阵。矩阵元素的构成规律是:最外层元素的值全部为1;从外向内第2 层元素的值全部为2;第 3 层元素的值全部为3,依次类推。例如,若N=5,生成的矩阵为:1 11111 22211 23211 2221211111请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANKLC中。不得增行或删行,也不
4、得更改程序的结构!#include#define N 7/*fou nd*/void fun(int(*a)1)int i,j,k,m;if(N%2=0)m=N/2;elsem=N/2+l;for(i=0;im;i+)/*fou nd*/for(j=_ 2 _;jN-i;j+)aij=aN-i-lU=i+l;for(k=i+l;kN-i;k+)/*f ou nd*/aki=akN-i-l=_3_;main()int xNN=O,i,j;fun(x);printf(MnThe result is:nM);for(i=0;iN;i+)for(j=0;jN;j+)printf(%3dn,xij);p
5、rintf(nH);3、给定程序中,函数fUn的功能是:将 s 所指字符串中的所有数字字符移到所有非数字字符之后,并保持数字字符串和非数字字符串原有的先后次序。例如,形 参 s 所指的字符串为:def35adh3kjsdf7o执行结果为:defadhkjsdf3537o请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANKLC中。不得增行或删行,也不得更改程序的结构!#include void fun(char*s)int i,j=0,k=0;char tlf8O,t2801;for(i=0;si!=0;i+)if(si=O&si=9)
6、/*fou nd*/t2UJ=si;1;else tlk+=si;t2j=0;tlk=O;/*found*/for(i=0;ik;i+)23for(i=0;i_3_;i+)sk+ij=t2ij;)main()char s80=ndef35adh3kjsdf7;printf(MnThe original string is:%sn,s);fun(s);printf(MnThe result is:%snn,s);4、给定程序中,函 数 fu n 的功能是:有N X N 矩阵,以主对角线为对称线,对称元素相加并将结果存放在左下三角元素中,右上三角元素置为0。例如,若 N=3,有下列矩阵:12345
7、6789 计算结果为10065010149请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANKLC中。不得增行或删行,也不得更改程序的结构!#include#define N 4/*fou nd*/void fun(int(*t)_1_)int i,j;for(i=l;iN;i+)for(j=0;ji;j+)/*fou nd*/一 2=tijj+tULi;/*f ou nd*/3 =0;)main()int t N=21,12,13,24,25,16,47,38,29,11,32,54,42,21,33,10),i,j;printf(
8、nThe original array:n);for(i=0;iN;i+)for0=O;jN;j+)printf(%2d,tiU);printf(n);)fun(t);printf(HnThe result is:nn);for(i=0;iN;i+)forG=0;jN;j+)printf(%2d,tij);printf(Mnn);45、给定程序中,函数fun的功能是:对形参s 所指字符串中下标为奇数的字符按ASCII码大小递增排序,并将排序后下标为奇数的字符取出,存入形参p 所指字符数组中,形成一个新串。例如,形 参 s 所指的字符串为:baawrskjghzlicda,执行后p 所指字符数组
9、中的字符串应为: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)/*found*/*fou nd*/for(j=2 _+2 ;jsjj)t=j;if(t!=i)x=si;si=st;st=x;for(i=l,j=0;in;i=i+2,j+)pjj=si;/*fou nd*/Plj=3;)ma
10、in()char s80=nbaawrskjghzlicda,p50;printf(MnThe original string is:%sn,s);fun(s,p);printf(MnThe result is:%sn,p);6、程序通过定义并赋初值的方式,利用结构体变量存储了一名学生的信息。函 数 ftin的功能是输出这位学生的信息。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include typedef struct int num;char name9J;char se
11、x;struct int year,month,day;birthday;float score3;STU;/*found*/void show(STU _1_)5 int i;printf(nn%d%s%c%d-%d-%dH,tt.num,tt.name,tt.sex,tt.birthday.year,tt.birthday.month,tt.birthday.day);for(i=0;i3;i+)/*fou nd*/printf(%5.1f,2);printf(n);)main()STU std=l,Zhanghua;M,1961,10,8,76.5,78.0,82.0);printf(n
12、A student data:n);/*fou nd*/show(_3_);7、给定程序中,函 数 fim 的功能是:计算N X N 矩阵的主对角线元素和反向对角线元素之和,并作为函数值返回。注意:要求先累加主对角线元素中的值,然后累加反向对角线元素中的值。例如,若N=3,有下列矩阵:1 2 34 5 67 8 9ftHi函数首先累加1、5、9,然后累加3、5、7,函数的返回值为30。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANKLC中。不得增行或删行,也不得更改程序的结构!#include#define N 4fun(int
13、tJlN,int n)int i,sum;for(i=0;in;i+)sum+=_2_for(i=0;in;i+)sum+=tifn-i-_3;return sum;main()int tfN=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(HThe result is:%d,fun(t,N);8、给定程序中,函 数 fun的功能是:计算形参x 所指数组中N 个
14、数的平均值(规定所有数均为正6数),作为函数值返回;并将大于平均值的数放在形参y 所指数组中,在主函数中输出。例如,有 10 个正数:46 30 32 40 6 17 45 15 48 2 6,平均值为:30.500000主函数中输出:46 32 40 45 48请在程序的卜.划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANKLC中。不得增行或删行,也不得更改程序的结构!#include#include#define N 10double fun(double xf,double*y)int i,j;double av;/*fou nd*/av
15、=1for(i=0;iN;i+)av=av+2.for(i=j=0;iav)y_3_ J=xi;yUJ=-i;return av;)main()int i;double xN=46,30,32,40,6,17,45,15,48,26;double yNJ;for(i=0;i=0;i+)printf(%5.0f,yi);printf(n);9、给定程序中,函 数 ftin的功能是:计算形参x 所指数组中N 个数的平均值(规定所有数均为正数),将所指数组中小于平均值的数据移至数组的前部,大于等于平均值的数据移至x 所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。例如,有
16、10 个正数:46 30 32 40 6 17 45 15 48 2 6,平均值为:30.500000移动后的输出为:30 6 17 15 26 46 32 40 45 48请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANKLC中。#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;iN;i+)7if(xiav)yfj=xi;
17、xil=-l;_2_i=0;while(iN)if(xi!=-l)yU+=xi;/*fou nd*/_ 3 _;)for(i=0;iN;i+)xi=yi;return av;)main()int i;double xN;for(i=0;iN;i+)xi=rand()%50;printf(%4.0f,xi);printf(nn);printf(nThe average is:%fn,fun(x);printf(HnThe result:nH,fun(x);for(i=0;iN;i+)printf(n%5.0f n,xi);printf(Hnn);10、给定程序中,函数fun的功能是:计算形参x
18、所指数组中N 个数的平均值(规定所有数均为正数),将所指数组中大于平均值的数据移至数组的前部,小于等于平均值的数据移至x 所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。例如,有 10 个正数:46 30 32 40 6 17 45 15 48 2 6,平均值为:30.500000移动后的输出为:46 32 40 45 48 30 6 17 15 26请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。#include#include#define不得增行或删行,也不得更改程序的结构!N 10dou
19、ble fun(double*x)int i,j;double s,av,yNl;s=0;for(i=0;ivN;i+)s=s+xi;/*fou nd*/av=1for(i=j=0;iav)/*ou nd*/yl_2_J=xi;xi=-l;for(i=0;iN;i+)/*fou nd*/if(x i!=3 _)yj+=xi;for(i=0;iN;i+)xi=yi;return av;8main()int i;double xN=46,30,32,40,6,17,45,15,48,26;for(i=0;iN;i+)printf(%4.0f,xi);printf(n);printf(nThe av
20、erage is:%fn,fun(x);printf(nThe result:n,fun(x);for(i=0;iN;i+)printf(%5.0f,xij);printf(n);11、函 数 的 功 能 是:把形参a所指数组中的奇数按原顺序依次存放到a0、alL a2、中,把偶数从数组中删除,奇数个数通过函数值返回。例如:若a所指数组中的数据最初排列为:9、1、4、2、3、6、5、8、7,删除偶数后a所指数组中的数据为:9、1、3、5、7,返回值为5。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不
21、得更改程序的结构!#include#defineint fun(int int i,jj=0;N 9al,int n)for(i=0;in;i+)/*f ou nd*/if(ai%2=-1)/*fou nd*/aj=ai;2_;/*ou nd*/return_ 3_;main()int bN=9,l,4,2,3,6,5,8,7,i,n;printf(nThe original data:n);for(i=0;iN;i+)printf(%4d,bi);printf(n);n=fun(b,N);printf(nThe number of odd:%d n,n);printf(nThe odd nu
22、mber:n);for(i=0;in;i+)printf(%4d,bi);printf(n);12、给定程序中,函数fun的功能是:求ss所指字符串数组中长度最短的字符串所在的行下标,作为函数值返回,并把其串长放在形参n所指变量中。ss所指字符串数组中共有M个字符串,且串长 N。请在程序的下划线处填入正确的内容并把卜划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANKLC中。不得增行或删行,也不得更改程序的结构!9#include#include#define#defineM 5N 20int fun(char(*ss)N,int*n)int i,k=0,len=N;/*
23、fou nd*/for(i=0;i_ 1_;i+)len=strlen(ssi);if(i=0)*n=len;/*ou nd*/if(len _2.*n=len;k=i;*n)/*f ou nd*/return(_ 3_);main()char ssMN=shanghai,guangzhou,beijing,ntianjing,chongqing;int n,k,i;printf(nThe original strings are:n);for(i=0;iM;i+)puts(ssi);k=fun(ss,&n);printf(MnThe length of shortest string is:
24、%dn,n);printf(MnThe shortest string is:%snn,sskj);13、人员的记录由编号和出生年、月、日组成,N 名人员的数据已在主函数中存入结构体数组std中。函 数 fun的功能是:找出指定出生年份的人员,将其数据放在形参k 所指的数组中,由主函数输出,同时由函数值返回满足指定条件的人数。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANKLC中。#include#definetypedef intintSTU;不得增行或删行,也不得更改程序的结构!N 8structnum;year,month,
25、day;int fun(STU*std,STU*k,int year)int i,n=0;for(i=0;iN;i+)/*fou nd*/i f(_1一=year)kn+=2.ioreturn(_3_);main()STU stdNl=1,1984,2,15,2,1983,9,21,3,1984,9,1,4,1983,7,15,5,1985,9,28,6,1982,11,15,7,1982,6,22,8,1984,8,19;STU kN;int i,n,year;printf(MEnter a year:);scanf(M%dH,&year);n=fu n(std,k,year);if(n=O
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二级 语言 上机 答案 2012 预测 51
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内