2011计算机二级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请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANKLC中。不得增行或删行,也不得更改程序的结构!#includc#defineint fun(intN 9x口)int i,j,k,t,mid,bN;fbr(i=O;iN;i+)bi=xi;fdr(i=0;i=N/2;i+)k=i;for(j=i+l;jbU)k=j;if(k!=i)/*仿und*/t=bi;bi=_1_;bk=t;/*d*/mid=b_2;fbr(i=0;iN;i+)/*Sund*/if(xi_3_mid)xi=mid;return mid;main()int i,xN=1,5,7,23,87,5,8,21,45;fbr(i=0;iN;i+)printf(n%d n,xi);printf(MnThe mid data is:%dn,fun(x);fdr(i=0;iN;i+)printf(n%d M,xi);printf(Mnn);2、给定程序中,函数ftm的功能是建立一个N X N 的矩阵。矩阵元素的构成规律是:最外层元素的值全部为1:从外向内第2 层元素的值全部为2;第 3 层元素的值全部为3,依次类推。例如,若 N=5,生成的矩阵为:111112 2 212 3 212 2 2111111111请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#includc#define N 7void fiin(int(*a)_ 1_)int i,j,k,m;if(N%2=0)m=N/2;elsem=N/2+l;fbr(i=O;im;i+)/*伪und*/for(j=_2_;jN-i;j+)aij=aN-i-lj=i+l;for(k=i+l;kN-i;k+)aki=akN-i-l=_3_;tnain()int xNN=0,ij;fun(x);printf(nnThe result is:n);fbr(i=O;iN;i+)fbr(j=O;jN;j-H-)printfC%3d”,xij);prin氓“n”);3、给定程序中,函数fun的功能是:将 s 所指字符串中的所有数字字符移到所有非数字字符之后,并保持数字字符串和非数字字符串原有的先后次序。例如,形参s 所指的字符串为:dcf35adh3kjsdf7o 执行结果为:defadhkjsdf3537,请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include void fun(char*s)int i,j=0,k=0;char tl80,t280;fbr(i=O;si!=W;i+)if(si=0,&si=,9,)/*e und*/t2U=si;1;else tlk+=si;t2j=0;tlk=O;/*砧und*/for(i=0;ik;i+)_2_;/*found*/fbr(i=O;i 3_;i-H-)sk+i=t2i;main()char s80=ndef35adh3kjsdf7n;printffnThe original string is:%snM,s);fiin(s);printf(nnThe result is:%sn,s);4、给定程序中,函数fun的功能是:有N X N 矩阵,以主对角线为对称线,对称元素相加并将结果存放在左下三角元素中,右上三角元素置为0。例如,若 N=3,有下列矩阵:123456789 计算结果为10065010149请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include#define N 4/*8und*/void fun(int(*t)_1_)int i,j;for(i=l;iN;i+)for(j=O;ji;j-H-)/*拈und*/-2_=tiU+tUi;/*e und*/3=0;main()int tN=21,12,13,24,25,16,47,38,29,ll,32,54,42,21,33,10,i,j;printffnThe original array:nM);fbr(i=O;iN;i+)fbr(j=O;j N;j+)printf(”2d 皿);printf(nnn);fun(t);printf(nnThe result is:nn);fbr(i=O;iN;i+)forO=0;jN;j+)printfC%2d f;tij);printf(Mnn);)5、给定程序中,函数fun的功能是:对形参s 所指字符串中下标为奇数的字符按ASCI I码大小递增排序,并将排序后下标为奇数的字符取出,存入形参p 所指字符数组中,形成一个新串。例如,形参s 所指的字符串为:baawrskjghzlicda,执行后p 所指字符数组中的字符串应为:aachjlswo请在程序的下划线处填入正确的内容并把卜划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include void fun(char*s,char*p)int i,j,n,x,t;n=0;fbr(i=O;si!=(/;i+)n+;fbr(i=l;in-2;i=i+2)/*/1/*3und*/fbr(j=_2_+2;jsj)日;if(t!=i)x=si;si=st;st=x;)fbr(i=l,j=O;in;i=i+2,j+)pj=si;/*fbund*/PU1=_3一;main()char s80=,baawrskjghzlicdan,p50;printffnThe original string is:%snn,s);fun(s,p);printf(nnThe 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;/*代und*/void show(STU _1_)int i;printf(Hn%d%s%c%d-%d-%d,tt.num,tt.name,tt.sex,tt.birthday.year,tt.birthday.month,tt.birthday.day);fbr(i=0;i3;i+)/*nd*/printf(”5.1f_2_);printf(MnM);)main()STU std=1 ,Zhanghua;M 1961,10,8,76.5,78.0,82.0;printf(MnA student data:nM);/*e und*/show(_3_);)7、给定程序中,函 数 f i r n的功能是:计算N X N矩阵的主对角线元素和反向对角线元素之和,并作为函数值返回。注意:要求先累加主对角线元素中的值,然后累加反向对角线元素中的值。147例如,258若N=3,有下列矩阵:369fun函数首先累加1、5、9,然后累加3、5、7,函数的返回值为30。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:#include#define源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!N 4fiin(int tN,int n)int i,sum;/*d*/1;fbr(i=0;in;i+)/*f)und*/sum+=_2_;fbr(i=0;in;i+)/*d*jsum+=tin-i-_3_;return sum;tnain()int tN=21,2,13,24,25,16,47,38,29,ll,32,54,42,21,3,10,ij;printf(nnThe original data:n);fbr(i=O;iN;i+)fbr(j=O;jN;j+)printfC%4d”,咽;printf(Mnn);)printf(The result is:%d,fun(t,N);8、给定程序中,函数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(double x,double*y)int i,j;double av;/*d*/av=1/*d*/for(i=0;iN;i+)av=av+_ 2fbr(i=j=O;iav)y_3_=xi;returnav;main()int i;doubledouble xN=46,30,32,40,6,17,45,15,48,26;yN;fbr(i=O;i=0;i-H-)printf(H%5.0f,yi);printf(,nH);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请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。#include#include#definc不得增行或删行,也不得更改程序的结构!N 10double fiin(double*x)int i,j;double av,yN;av=0;/*仿und*/for(i=0;iN;i+)av+=_1_;for(i=j=O;iN;i-H-)if(xiav)/*d*,yj=xi;xi=-l;_2_;i=0;while(iN)if(xi!=-l)yj+=xi;/*/3 _;)fdr(i=O;iN;i+)xi=yi;return av;main()intdouble xN;for(i=0;iN;i+)xi=rand()%50;printf(%4.0f u,xi);printf(,nH);printf(nnThe average is:%fn,fun(x);printf(nnThe result:nn,fun(x);fbr(i=O;iN;i+)printf(%5.Of,xi);printf(MnM);10、给定程序中,
展开阅读全文
温馨提示:
金锄头文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
相关搜索

当前位置:首页 > 商业/管理/HR > 营销创新


电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号