二级C语言上机考试.pdf
《二级C语言上机考试.pdf》由会员分享,可在线阅读,更多相关《二级C语言上机考试.pdf(139页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、二级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请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANKLC中。#include#defineint fun(int不得增行或
2、删行,也不得更改程序的结构!N 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+l;jbj)k=j;if(k!=i)/*d*/t=bi;bi=_1_;bk=t;(1)bk/*/mid=b_ _ 2 _;(2)N/2for(i=0;iN;i+)/*found*/if(xi_3_mid)xi=mid;(3)return mid;main()int i,xN=1,5,7,23,87,5,8,21,45;for(i=0;iN;i+)printf(n%d n,xi);printfCAnThe mid data
3、is:%dnM,fun(x);for(i=0;iN;i+)printf(H%d u,xi);printf(AnM);2、给定程序中,函数fun的功能是建立一个NxN的矩阵。矩阵元素的构成规律是:最外层元素的值全部为1;从外向内第2 层元素的值全部为2;第 3 层元素的值全部为3,依次类推。例如,若 N=5,生成的矩阵为:1111112 2 2 11 2 3 2 11 2 2 2 111111请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include#define N 7/*不*
4、found*/void fun(int(*a)_ 1_)if(N%2=0)m=N/2;else m=N/2+l;for(i=0;im;i+)/*/ford=_2_;jN-i;j+)aiU=aN-i-lj=i+l;for(k=i+1;kN-i;k+)/*不*Qund*不*/aki=akN-i-l=_3_;)main()int xNN=0,i,j;fun(x);printf(nThe result is:n);for(i=0;iN;i+)fortj=0;jN;j+)printf(%3dxij);printf(An);2、(1)NJ(2)i(3)i+13、给定程序中,函数fun的功能是:将 s 所指
5、字符串中的所有数字字符移到所有非数字字符之后,并保持数字字符串和非数字字符串原有的先后次序。例如,形参s 所指的字符串为:def35adh3kjsdf7 执行结果为:defadhkjsdf3537。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include void fiin(char*s)int i,j=0,k=0;char tl80,t280;for(i=0;si!=W;i+)if(si=*0*&si=,9,)/*found*/t2U=si;一1一;else tlk+=si
6、;t2|j=O;tl|k=O;/*found*/for(i=0;ik;i+)_2_;/*不*found*/for(i=0;i_3_;i+)sk+i=t2i;main()char s80=ndef35adh3kjsdnn;printf(AnThe original string is:%snu,s);fun(s);printf(AnThe result is:%sns);3、(1)j+(2)si=tli(3)j4、给定程序中,函 数fu n的功能是:有N xN矩阵,以主对角线为对称线,对称元素相加并将结果存放在左下三角元素中,右上三角元素置为0。例如,若N=3,有下列矩阵:1 2 34 5 67
7、 8 9计算结果为1 0 06 5 010 14 9请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include#define N 4/*found*/void fun(int(*t)_1_)int i,j;for(i=l;iN;i+)(for(j=0;ji;j+)(/*found*/一2=tijj+tji;一 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 or
8、iginal array:n);for(i=0;iN;i+)for(j=O;jN;j+)printf(%2d,tij);printf(n);)fun(t);printf(nThe result is:n);for(i=0;iN;i+)forG=0;jN;j+)printf(%2dprintf(n);)4、(1)N(2)tij(3)tji5、给定程序中,函数fun的功能是:对形参s 所指字符串中下标为奇数的字符按AS CH码大小递增排序,并将排序后下标为奇数的字符取出,存入形参p 所指字符数组中,形成一个新串。例如,形参s 所指的字符串为:baawrskjghzlicda,执行后p 所指字符数组
9、中的字符串应为:aachjlsw请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANKl.C1o不得增行或删行,也不得更改程序的结构!#include void fiin(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*/1;/*/for(j=2+2;jsj)t=j;if(t!=i)x=si;si=st;st=x;for(i=l,j=0;in;i=i+2,j+)p|j=si;/*/Plj=3;)main()char s80=n
10、baawrskjghzlicda,p50;printf(AnThe original string is:%sn,s);fun(s,p);printf(AnThe result is:%snp);)5、(1)t=i(2)i(3)06、程序通过定义并赋初值的方式,利用结构体变量存储了一名学生的信息。函 数 fun的功能是输出这位学生的信息。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANKLC中。不得增行或删行,也不得更改程序的结构!#include type def struct int num;char name 9;char s
11、ex;struct int year,month,day;birthday;float score3;S TU;/*/void show(S TU 1)int i;printf(n%d%s%c%d-%d-%dn,tt.num,tt.name,tt.sex,tt.birthday.year,tt.birthday.month,tt.birthday.day);for(i=0;i3;i+)/*found*/printf(M%5.ir,2_);printf(nn);)main()S TU std=1 /ZhanghuaVM;1961,10,8,76.5,78.0,82.0;printf(1nA st
12、udent data:n);/*found*/show(_3_);6、(1)tt(2)tt.scorei(3)std7、给定程序中,函 数 fun的功能是:计算NxN矩阵的主对角线元素和反向对角线元素之和,并作为函数值返回。注意:要求先累加主对角线元素中的值,然后累加反向对角线元素中的值。例如,若 N=3,有下列矩阵:1 2 34 5 67 8 9fun函数首先累加1、5、9,然后累加3、5、7,函数的返回值为30。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include#d
13、efine N 4fiin(int tN,int n)int i,sum;/*found*/1for(i=0;in;i+)/*不*不*/sum+=_2_for(i=0;in;i+)sum+=tiln-i-_3_;return sum;)main()int tN=21213,24,25,16,47,38,29,11,32,54,42,21,3,10,i,j;printf(nThe original data:nu);for(i=0;iN;i+)forG=0;jN;j+)printf(%4du,tij);printf(nnn);)printf(The result is:%d*,fun(t,N);
14、7、sum=0(2)tii(3)18、给定程序中,函数fun的功能是:计算形参x 所指数组中N 个数的平均值(规定所有数均为正数),作为函数值返回;并将大于平均值的数放在形参y 所指数组中,在主函数中输出。例如,有 10 个正数:46 30 32 40 6 17 45 15 48 2 6,平均值为:30.500000主函数中输出:46 32 40 45 48请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include#include#define N 10double fun(d
15、ouble x,double int i,j;double av;/*fiound*/av=_ 1 _;/*R)uncl*/fbr(i=O;ivN;i+)av=av+_for(i=j=O;iav)y|_3_|=xi;yj=-i;*y)2.returnav;main()int i;doubledouble xN=46,30,32,40,6,17,45,15,48,26);yN;for(i=0;ivN;i+)printf(%4.0f n,xi);printf(“n);printf(nr)The average is:%fnH,fun(x,y);for(i=0;yi=0;i+)printf(n%5.
16、0f n,yi);printf(nnH);)8(1)0(2)xi/N(3)j+9、给定程序中,函数fun的功能是:计算形参x 所指数组中N 个数的平均值(规定所有数均为正数),将所指数组中小于平均值的数据移至数组的前部,大于等于平均值的数据移至x 所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。例如,有 10 个正数:46 30 32 40 6 17 45 15 48 2 6,平均值为:30.500000移动后的输出为:30 6 17 15 26 46 32 40 45 48请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文
17、件夹下的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=O;iN;i+)if(xiav)/*found*/yj=xi;xi=-l;_2_;i=0;while(iN)if(xi!=-l)yj+=xi;/*f oun d*亭*/_ 3 _;)for(i=0;iN;i+)xi=yi;return av;)main()int i;double xN;for(i=0;iN;i+)
18、xi=rand()%50;printf(,%4,0f n,xi);printf(n);printf(unThe average is:%fnH,fun(x);printf(nThe result:n,fun(x);for(i=0;ivN;i+)printf(n%5.Of,xi);printf(“n);)9、(1)xi/N(2)j+(3)i+10、给定程序中,函数fun的功能是:计算形参x 所指数组中N 个数的平均值(规定所有数均为正数),将所指数组中大于平均值的数据移至数组的前部,小于等于平均值的数据移至x 所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。例如,有 1
19、0 个正数: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 10double fun(double*x)int i,j;double s,av,yN;s=0;for(i=0;iN;i+)s=s+xi;/*found*/av=1fbr(i=j=O;iav)/*found*/y_
20、2_=xi;Xi=-1;for(i=0;iN;i+)/*)u*/if(x i!=_ 3 _)yj+=xi;for(i=0;iN;i+)xi=yi;return av;)main()int i;double xN=46,30,32,40,6,17,45,15,48,26;for(i=0;iN;i+)printf(M%4.0f n,xi);printfCAn1);printf(unThe average is:%fnn,fun(x);printf(unThe result:nfun(x);for(i=0;iN;i+)printf(n%5.0f n,xi);printf(n);)10、(1)s/N(
21、2)j+(3)-111、函数fu n的功能是:把形参a所指数组中的奇数按原顺序依次存放到a0、al.a2、中,把偶数从数组中删除,奇数个数通过函数值返回。例如:若a所指数组中的数据最初排列为:9、1、4、2、3、6、5、8、7,删除偶数后a所指数组中的数据为:9、1、3、5、7,返回值为5。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。#include#defineint fun(int不得增行或删行,也不得更改程序的结构!N 9a,int n)int i,j;j=0;for(i=0;in;i+)*found*/if(
22、ai%2=1)*found*/aj=ai;2一:)return 3main()int bN=9,l,4,2,3,6,5,8,7),i,n;printf(AnThe original data:nn);for(i=0;iN;i+)printf(M%4d”,bi);printfCAn*);n=fun(b,N);printf(AnThe number of odd:%d n n);printf(,fnThe odd number:n);for(i=0;in;i+)printf(%4d”,bi);printf(AnH);)IK(1)1 (2)j+(3)j12、给定程序中,函数fun的功能是:求ss所指
23、字符串数组中长度最短的字符串所在的行下标,作为函数值返回,并把其串长放在形参n 所指变量中。ss所指字符串数组中共有M个字符串,且串长 N。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include#include#define#defineM 5N 20int fun(char(*ss)N,int*n)int i,k=0,len=N;/*/for(i=0;i_1_;i+)len=strlen(ssi);if(i=0)*n=len;/*/if(len _2.*n=len;k=i
24、;*n)/*und*示*/retum(-3一);)main()char ssMN=shanghai”,guangzhou,beijingJtianjing,chongqing;int n,k,i;printf(,rnThe original strings are:n);for(i=0;iM;i+)puts(ssi);k=fun(ss,&n);printfCnThe length of shortest string is:%dnu,n);printf(nThe shortest string is:%snn,ssk);)12、(1)M(2)(3)k13、人员的记录由编号和出生年、月、日组成,
25、N 名人员的数据已在主函数中存入结构体数组std中。函数fun的功能是:找出指定出生年份的人员,将其数据放在形参k 所指的数组中,由主函数输出,同时由函数值返回满足指定条件的人数。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。#include#definetypedef intintS TU;不得增行或删行,也不得更改程序的结构!N 8structnum;year,month,day;int fun(S TU*std,S TU*k,int year)int i,n=0;for(i=0;iN;i+)/*Qund*/kn+
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二级 语言 上机 考试
限制150内