《二级C语言上机题及答案2012年预测51套.pdf》由会员分享,可在线阅读,更多相关《二级C语言上机题及答案2012年预测51套.pdf(107页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
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
26、)printf(nNo person was born in%d n,year);else printfCVnThese persons were born in%d nn,year);for(i=0;in;i+)printf(H%d%d-%d-%dnn,kij.num,ki.year,kij.month,ki.day);)14、函数fun的功能是:将形参a 所指数组中的前半部分元素中的值和后半部分元素中的值对换。形 参 n 中存放数组中数据的个数,若 n 为奇数,则中间的元素不动。例如:若 a 所指数组中的数据依次为:1、2、3、4、5、6、7、8、9,则调换后为:6、7、8、9、5、1、2
27、、3、4。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANKLC中。不得增行或删行,也不得更改程序的结构!#include#define N 9void fun(int a,int n)int i,t,p;/*ou nd*/p=(n%2=0)?n/2:n/2+_ 1for(i=0;in/2;i+)t=ai;/*f ou nd*/ai=ap+_2_;/*f ou nd*/_3_=t;main()int bN=1,2,34,5,6,7,8,9,i;printf(nThe original data:n);for(i=0;iN;i+)pr
28、intf(%4d,bi);printf(n);fun(b,N);printf(nThe data after moving:n);for(i=0;iN;i+)printf(%4d,bi);printf(n);1115、给定程序中,函数fun的功能是将形参给定的字符串、整数、浮点数写到文本文件中,再用字符方式从此文本文件中逐个读入并显示在终端屏幕上。请在程序的卜.划线处填入正确的内容并把下划线删除,使程序得出正确粉绸果。注意:源程序存放在考生文件夹下的BLANKLC中。不得增行或删行,也不得更改程序的结构!#include void fiin(char*s,int a,double f)/*ou
29、 nd*/char ch;fp=fopen(,filel.txtM,w);fprintf(fp,M%s%d%fnn,s,a,f);fclose(fp);fp=fopen(”fileLtxT);printf(nThe result:nn);ch=fgetc(fp);/*fou nd*/while(!feof(2)/*fou nd*/putchar(_3_);ch=fgetc(fp);putchar(n);fclose(fp);main()char a10J=H ello!;int b=12345;double c=98.76;fun(a,b,c);16、给定程序中,函数fun的功能是:找出N X
30、 N矩阵中每列元素中的最大值,并按顺序依次存放于形参b所指的一维数组中。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include#define N 4void fun(int(*a)N,int*b)int i,j;for(i=0;iN;i+)/*ou nd*/bi=1;for(j=l;jN;j+)/*fou nd*/if(bi_2_ afji)bi=aji;main()12 int xNNJ=12,5,8,7,6,1,9,3,1,2,3,4,2,8,4,3,yN,i,j;pr
31、intf(nThe matrix:n);for(i=0;iN;i+)for(j=0;jN;j+)printf(%4d,xijl);printf(n);/*fou nd*/fun(-3);printf(nThe result is:);for(i=0;iN;i+)printf(%3d,yi);printf(n);17、给定程序中,函 数 fun的功能是:统计形参s 所指字符串中数字字符出现的次数,并存放在形参 t 所指的变量中,最后在主函数中输出。例如,形 参 s 所指的字符串为:abcdef35adgh3kjsdf7o输出结果为:40请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正
32、确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include void fun(char*s,int*t)int i,n;n=0;for(i=0;_ 1_!=0;i+)/*fou nd*/if(siJ=*O&siJ=_2_)n+;/*ou nd*/3;)main()char s8O=nabcdef35adgh3kjsdf7n;int t;printf(MnThe original string is:%sn,s);fun(s,&t);printf(MnThe result is:%dnM,t);18、函 数 fun的功能是:把形参a 所指
33、数组中的最小值放在元素a0中,接着把形参a 所指数组中的最大值放在al元素中;再 把 a 所指数组元素中的次小值放在a2中,把 a 所指数组元素中的次大值放 在 a3;其余以此类推。例如:若 a 所指数组中的数据最初排列为:9、1、4、2、3、6、5、8、7;则按规则移动后,数据排列为:1、9、2、8、3、7、4、6、5。形 参 n 中存放a 所指数组中数据的个数。注意:规 定 fun函数中的max存放当前所找的最大值,px存放当前所找最大值的下标。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更
34、改程序的结构!#include#define N 9void fun(int a,int n)13 int i,j,max,min,px,pn,t;for(i=0;in-l;i+=2)/*f ou nd*/max=min=px=pn=i;for(j=i+l;jn;j+)/*fou nd*/if(max_3_)min=aj;pn=j;if(pn!=i)t=ai;ai=min;apn=t;if(px=i)px=pn;if(px!=i+1)t=ai+l;ai+l J=max;apx=t;)main()int bN=9,1,4,2,39,5,8,7printf(MnThe original data:
35、nn);for(i=0;iN;i+)printf(%4d”,bij);printf(nnM);fun(b,N);printf(HnThe data after moving:n);for(i=0;iN;i+)printf(H%4d”,bij);printf(HnH);19、给定程序中,函数ftm 的功能是:将 形 参 s 所指字符串中的所有数字字符顺序前移,其他字符顺序后移,处理后新字符串的首地址作为函数值返回。例如,s 所指字符串为:asdl23fgh5#43df,处理后新字符串为:123543asdfgh#df。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源
36、程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include#include#include#include char*fun(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);14j=0;k=0;for(i=0;ivn;i+)if(isdigit(si)/*f ou nd*/p f_ l_=si;j+;else tkj=sij;k+;/*ou nd*/for(i=0;i _ 2 _;i+)pj+i
37、=ti;pj+k=O;/*fou nd*/return _ 3;)main()char s80;printf(nPlease input:);scanf(,%s,s);printf(HnThe result is:%snM,fun(s);20、给定程序中,函 数 fu n 的功能是:有 N X N 矩阵,根据给定的m(m =N)值,将每行元素中的值均右移m 个位置,左边置为0。例如,N=3,m=2,有下列矩阵123456789 程序执行结果为001004007请在程序的卜划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANKLC中。不得增行或删行,
38、也不得更改程序的结构!#include#defineN 4void fun(int int m)int i,j;/*fou nd*/for(i=0;i=0;j)/*f ou nd*/tij+2 l=tirj;/*ou nd*/for(j=0;j_3;j+)tiUJ=0;main()int tN=21,12,13,24,25,16,47,38,29,ll,32,54,42,21,33,10,i,j,m;printf(MnThe original array:nn);15for(i=0;iN;i+)for(j=0;jN;j+)printf(%2d,tij);printf(n);printf(Inp
39、ut m(m=%d):,N);scanf(%d,&m);fun(t,m);printf(nThe result is:n);for(i=0;iN;i+)for(j=0;j a2、中,把奇数从数组中删除,偶数个数通过函数值返回。例如:若a所指数组中的数据最初排列为:9、1、4、2、3、6、5、8、7,删除奇数后a所指数组中的数据为:4、2、6、8,返回值为4。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANKLC中。不得增行或删行,也不得更改程序的结构!#include#define N 9int fun(int a,int n)in
40、t i,j;j=0;for(i=0;in;i+)if(1=0)/*fou nd*/-2 =ai;j+;/*f ou nd*/return_ 3_;main()int bN=9,l,4,2,3,6,5,8,7,i,n;printf(MnThe original data:nn);for(i=0;iN;i+)printf(%4d”,bij);printf(”n”);n=fun(b,N);printf(nThe number of even:%dn,n);printf(nThe even:nn);for(i=0;in;i+)printf(%4d,bij);printf(Mnn);22、给定程序中,函
41、数fu n的功能是:判定形参a所指的NXN(规定N为奇数)的矩阵是否是幻方”,若是,函数返回值为1;不是,函数返回值为0。幻方 的判定条件是:矩阵每行、每列、主对16角线及反对角线上元素之和都相等。例如,以下3 X 3 的矩阵就是一个“幻方:4 9 23 5 78 1 6请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include#define N 3int fun(int(*a)N)int i,j,ml,m2,row,colum;ml=m2=0;for(i=0;iN;i+)j=
42、N-i-l;ml+=aii;m2+=aij;if(ml!=m2)return 0;for(i=0;iN;i+)/*fou nd*/row=colum=1;for(j=0;jN;j+)row+=aij;colum+=aji;/*fou nd*/if(row!=colum)2(row!=ml)return 0;return _ 3;)main()int xNNLi,j;printf(nEnter number fbr array:nH);for(i=0;iN;i+)for(j=0;jvN;j+)scanf(%dn,&xij);printf(n Array:n);for(i=0;iN;i+)for(
43、j=0;jN;j+)printf(%3dxirj);printf(nH);)if(fun(x)printf(HThe Array is a magic square.nn);else printf(MThe Array isnt a magic square.nn);23、给定程序中,函数fim 的功能是将a 和 b 所指的两个字符串分别转换成面值相同的整数,并进行相加作为函数值返回,规定字符串中只含9 个以下数字字符。例如,主函数中输入字符串:32486和 12345,在主函数中输出的函数值为:44831。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放
44、在考生文件夹下的BLANKLC中。不得增行或删行,也不得更改程序的结构!#include#include 17#include#define N 9long ctod(char*s)long d=0;while(*s)if(isdigit(*s)/*fou nd*/d=d*10+*s-1/*ou nd*/_ 2 _;return d;long ftin(char*a,char*b)/*found*/return _ 3;main()char slNJ,s2NJ;do printf(nInput string si:);gets(sl);while(strlen(sl)N);do printf(
45、nInput string s2:);gets(s2);while(strlen(s2)N);printf(nThe result is:%ldnn,fun(sl,s2);24、给定程序中,函 数 ftm 的功能是:把形参s 所指字符串中下标为奇数的字符右移到下一个奇数位置,最右边被移出字符串的字符绕回放到第一个奇数位置,下标为偶数的字符不动(注:字符串的长度大于等于2)。例如,形 参 s 所指的字符串为:abcdefgh,执行结果为:ahcbedgfo请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不
46、得更改程序的结构!#includevoid fun(char*s)int i,n,k;char c;n=0;for(i=0;si!=,0;i+)n+;/*ou nd*/if(n%2=0)k=n-1;elsek=n-2;/*fou nd*/c=2for(i=k-2;i=l;i=i-2)si+2=si;/*found*/sl=_ _ 3_ _;18main()char s80J=nabcdefghH;printf(MnThe original string is:%sn,s);fun(s);printf(MnThe result is:%snM,s);25、给定程序中,函 数 fu n 的功能是:
47、求出形参s s 所指字符串数组中最长字符串的长度,将其余字符串右边用字符*补齐,使其与最长的字符串等长。ss所指字符串数组中共有M 个字符串,且串长vN。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。#include#include#define#define不得增行或删行,也不得更改程序的结构!M 5N 20void fun(char(*ss)fN)int i,j,n,len=0;for(i=0;in)n=len;for(i=0;iM;i+)/*fou nd*/n=strlen(_1_);for(j=0;jlen-n
48、;j+)/*ou nd*/ssi 2 1;/*fou nd*/ssin+j+3 J=0r;main()char ssMN=shanghaiVguangzhouVeijingVianjing/cchongqing;int i;printf(HThe original strings are:nH);for(i=0;iM;i+)printf(n%snssi);printf(nnn);fun(ss);printf(The result is:n);for(i=0;iM;i+)printf(n%snH,ssi);26、给定程序中,函数fun的功能是:将 N X N 矩阵中元素的值按列右移1 个位置,右
49、边被移出矩阵的元素绕回左边。例如,N=3,有下列矩阵1 2 34 5 67 8 9 计算结果为19369147258请在程序的卜.划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include#define N 4void fun(int(*t)N)int i,j,x;/*ou nd*/for(i=0;i=l;j-)/*fou nd*/tliL_ _ 3 =x;main()int tN=21,12,13,24,25,16,47,38,29,11,32,54,42,21,33,10,i,j;pr
50、intf(The 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(%2d,tij);printf(n);27、给定程序中,函数fun的功能是根据形参i 的值返回某个函数的值。当调用正确时,程序输出:x 1=5.000000,x2=3.000000,xl*xl+xl*x2=40.000000请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程