二级C语言机试题.pdf
《二级C语言机试题.pdf》由会员分享,可在线阅读,更多相关《二级C语言机试题.pdf(109页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、一、程序填空题1、给定程序中,函数fun的功能是根据形参i 的值返回某个函数的值。当调用正确时,程序输出:x 1 =5.000000,x2=3.000000,xl*xl+xl*x2=40.000000请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include double fl(double x)return x*x;double f2(double x,double y)return x*y;/*/_ 1 _ fun(int i,double x,double y)if(i=
2、l)/*found*/return _ 2 _(x);else/*d*Ireturn _ 3_(x,y);main()double xl=5,x2=3,r;r=fun(l,xl,x2);r+=fun(2,xl,x2);printf(unxl=%f,x2=%f,xl*xl+xl*x2=%fnnn,xl,x2,r);2、程序通过定义学生结构体数组,存储了若干名学生的学号、姓名和3 门课的成绩。函数ftm的功能是将存放学生数据的结构体数组,按照姓名的字典序(从小到大)排序。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增
3、行或删行,也不得更改程序的结构!#include#include struct student long sno;char name10;float score 3;void fun(struct student a,int n)/*/1 t;int i,j;/*Ifor(i=0;i_2 _;i+)for(j=i+l;j 0)t=ai;ai=aj;aj=t;main()struct student s4=10001,HZhangSann,95,80,88,10002,MLiSin,85,70,78,10003;CaoKaiH,75,60,88,10004,HFangFangn,90,82,87
4、;int i,j;printfi(nnnThe original data:nnH);for(j=0;j4;j+)printf(nNo:%ld Name:%-8s Scores:,sj.sno,sj.name);for(i=0;i3;i+)printf(%6.2f,sj.scorei);printf(n);)fun(s,4);printf(nnThe data after sorting:nn);for(j=0;j4;j+)printf(nNo:%ld Name:%-8s Scores:,sj.sno,sj.name);for(i=0;i3;i+)printf(%6.2f,sj.scorei)
5、;printf(n);3、给定程序中,函数fun的功能是:计算形参x所指数组中N个数的平均值(规定所有数均为正数),作为函数值返回;并将大于平均值的数放在形参y所指数组中,在主函数中输出。例如,有 10 个正数:46 30 32 40 6 17 45 15 48 2 6,平均值为:30.500000主函数中输出:46 32 40 45 48请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANKLC中。不得增行或删行,也不得更改程序的结构!#include#define N 10double fun(double x,double*y)i
6、nt i,j;double av;/*d*Iav=_ 1_;/*/for(i=0;iN;i+)av=av+_ 2_;fbr(i=j=O;iav)y _3 _=xi;y|j=-i;return av;main()int i;double xN,yN;for(i=0;i=0;i+)printf(%5.1f,yi);printf(n);4、给定程序中,函数fun的功能是:将a所 指4X 3矩阵中第k行的元素与第0行元素交换。例如,有下列矩阵:1 2 34 5 67 8 910 11 12若k为2,程序执行结果为:7 8 94 5 61 2 310 11 12请在程序的下划线处填入正确的内容并把下划线
7、删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include#define N 3#define M 4/*/void fun(int(*a)N,int _ 1_)int i,j,temp;/*/for(i=0;i _ 2 _;i+)temp=a0i;/*/a0i=_3_;aki=temp;main()int xMN=1,2,3,4,5,6,7,8,9,10,11,12,ij;printff The array before moving:nnH);fdr(i=0;iM;i+)fbr(j=0;jN;j+)printf(M
8、%3d,!,xij);printf(Hnnn);)fiin(x,2);printffThe array after moving:nnH);fdr(i=0;iM;i+)fbr(j=0;jN;j+)printf(n%3dH,xij);printf(,!nnu);5、给定程序中,函数fun的功能是将a和b所指的两个字符串转换成面值相同的整数,并进行相加作为函数值返回,规定字符串中只含9个以下数字字符。例如,主函数中输入字符串:32486和 12345,在主函数中输出的函数值为:4483E请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK
9、1.C中。不得增行或删行,也不得更改程序的结构!#include#include#include#defineN 9long ctod(char*s)long d=0;while(*s)if(isdigit(*s)/*Id=d*10+*s-1/*Qund*!_ 2 _;return d;long fun(char*a,char*b)/*found*/return 3;main()char slN,s2N;do printffInput string si:);gets(sl);while(strlen(sl)N);do printf(HInput string s2:);gets(s2);wh
10、ile(strlen(s2)N);printffThe result is:%ldnH,fun(sl,s2);6、给定程序中,函数fun的功能是:计算下式前n 项的和作为函数值返回。例 如,当 形 参 n 的值为10时,函数返回:9.612558o请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include double fiin(int n)int i;double s,t;/*Is=_1 _;/*Qund*Ifbr(i=l;i=_ 2 _;i-H-)t=2.0*i;/*d*I
11、s=s+(2.0*i-1 )*(2.0*i+1)/_ 3_;return s;main()int n=l;while(n0):);scanf(n%dH,&n);printf(unThe result is:%fnH,fun(n);7、给定程序中,函数fun的功能是:在 3 X 4 的矩阵中找出在行上最大、在列上最小的那个元素,若没有符合条件的元素则输出相应信息。例如,有下列矩阵:17328513109467程序执行结果为:find:a22=9请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的
12、结构!#include#define#defineM 3N 4void fun(int(*a)N)int i=0,j,find=0,rmax,c,k;while(iM)&(!find)rmax=ai0;c=0;forG=l;jN;j+)if(rmaxaij)/*u nd*/rmax=aij;c=_ 1 _;find=l;k=0;while(kM&find)/*found*/if(k!=i&akc=rmax)find=_ 2 _ ;k+;if(find)printfffind:a%d%d=%dn;i,c,aic);/*/3;if(!find)printf(not found!n);main()i
13、nt xMN,i,j;printffEnter number for array:nH);for(i=O;iM;i+)fbr(j=O;jN;j+)scanf(n%dH,&xij);printf(HThe array:n,!);fdr(i=O;iM;i+)forG=O;jN;j+)printf(“%3d”,x口皿);printf(Hnnn);)fun(x);8、给定程序中,函数fun的功能是:在形参ss所指字符串数组中,删除所有串长超过k的字符串,函数返回所剩字符串的个数。ss所指字符串数组*有N个字符串,且串长小于M。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:
14、源程序存放在考生文件夹下的BLANKLC中。不得增行或删行,也不得更改程序的结构!#include#include#define#defineN 5M 10int fun(char(*ss)M,int k)int i,j=0,len;/*u nd*/for(i=0;i _ 1 _ ;i+)len=strlen(ssi);/*/ififlen=_ 2_)/*/strcpy(ssj+,_3_);return j;main()char xNM=MBeijing,;,Shanghai,!Tianjing,VNanjingn;,Wuhan,1);int i,f;printfi(,nThe origina
15、l stringnnu);for(i=O;iN;i+)puts(xi);printf(,nn);f=fun(x,7);printff The string witch length is less than or equal to 7:nn);fdr(i=0;if;i+)puts(xi);printf(nnH);9、程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。函数fun的功能是将形参a所指结构体变量中的数据赋给函数中的结构体变量b,并修改b中的学号和姓名,最后输出修改后的数据。例如:a所指变量中的学号、姓名、和三门课的成绩依次是:10001、ZhangSan、95、80、
16、8 8,则修改后输出b中的数据应为:10002、LiSi、95、80、88。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANKLC中。不得增行或删行,也不得更改程序的结构!#include#include struct student long sno;char name10;float score3;void fun(struct student a)struct student b;int i;/*Ib=_ 1_;b.sno=10002;/*f)und*/strcpy(_2_,MLiSin);printffnThe data a
17、fter modified:nH);printf(nnNo:%ld Name:%snScores:n,b.sno,b.name);/*d*/for(i=0;i3;i+)printf,6.2f”,b._3 _);printf(nnH);main()struct student s=10001,nZhangSanH,95,80,88;int i;printffnnThe original data:nn);printfl(nnNo:%ld Name:%snScores:,f,s.sno,s.name);for(i=0;i3;i-H-)printf(,%6.2f n,s.scorei);pr 血 f
18、(”n);fun(s);10、给定程序中,函数fun的功能是:在形参ss所指字符串数组中,将所有串长超过k 的字符串中右边的字符删除,只保留左边的k 个字符。ss所指字符串数组*有N 个字符串,且串长小于M。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include#include#define#defineN 5M 10/*)und*/void fun(char(*ss)_ 1 _,int k)int i=0;/*/while(i _ 2_)/*f)und*/ssik=_3_
19、;iH;main()char xNM=nCreaten,Modifyn;,Sort,skipn;,Deleten);int i;printfi(,nThe original stringnnu);for(i=O;iN;i+)puts(xi);printf(,nn);fun(x,4);printffnThe string after deleted:nnH);fdr(i=O;iN;i+)puts(xi);printf(Hnn);11、给定程序中,函数fun的功能是:把形参s 所指字符串中最右边的n 个字符复制到形参t 所指字符数组中,形成一个新串。若 s 所指字符串的长度小于n,则将整个字符串复
20、制到形参t 所指字符数组中。例如,形参s 所指的字符串为:abcdefgh,n 的值为5,程序执行后t 所指字符数组中的字符串应为:defgho请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include#include#define N 80void fun(char*s,int n,char*t)int len,i,j=0;len=strlen(s);/*/if(n=len)strcpy(_1 _);else/*/for(i=len-n;i=len-l;i-H-)tj-H-=
21、_ 2_;/*f)und*/tU=_3 _;main()char sN,tN;int n;printfifTnter a string:n);gets(s);printf(Enter n:H);scanf(H%dn,&n);fun(s,n,t);printffThe string t:);puts(t);12、给定程序中,函数fun的功能是:将形参s 所指字符串中的所有数字字符顺序前移,其他字符顺序后移,处理后新字符串的首地址作为函数值返回。例如,s 所指字符串为:asdl23fgh5#43df,处理后新字符串为:123543asdfgh#df。请在程序的下划线处填入正确的内容并把下划线删除,
22、使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include#include#include#includechar*fiin(char*s)int i,j,k,n;char*p,*t;n=strlen(s)+l;t=(char*)malloc(n*sizeof(char);p=(char*)malloc(n*sizeof(char);j=0;k=0;for(i=0;in;i+)if(isdigit(si)/*Ip _ 1 _=si;j+;else tk=si;k+;f/*d*Ifor(i=O;i _2 _;i+)pj+i=t
23、i;pj+k=O;/*found*/return 3;main()char s80;printf(nPlease input:);scanf(n%sH,s);printf(unThe result is:%snH,fun(s);13、给定程序中,函数fun的功能是:找出100999之 间(含100和999)所有整数中各位上数字之和为x(x为一正整数)的整数,然后输出;符合条件的整数个数作为函数值返回。例如,当x值为5时,100999之间各位上数字之和为5的整数有:104、113、122、131、140、203、212、221、230、302、31k 320、401、410、500。共有 15
24、个。当 x 值为 27 时,各位数字之和为2 7的整数是:999o只有1个。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include fiin(int x)int n,si,s2,s3,t;n=0;t=100;/*jwhile(t=_ 1 _)/*Isl=t%10;s2=(_2_)%10;s3=t/100;/*Qund*!if(sl+s2+s3=_ 3_)printf(%d,t);n+;)t+;return n;main()int x=l;while(x0):n);scanf
25、(d”,&x);printf(nnThe result is:%dnH,fun(x);)14、给定程序中,函数fun的功能是:将形参s所指字符串中的数字字符转换成对应的数值,计算出这些数值的累加和作为函数值返回。会例如,形参s所指的字符串为:abs5defl26jkm 8,程序执行后的输出结果为:220请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include#include#include int fun(char*s)int sum=O;while(*s)/*/if(isd
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二级 语言 试题
限制150内