二级C语言上机考试.pdf
二级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不得增行或删行,也不得更改程序的结构!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 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/*不*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 所指字符串中的所有数字字符移到所有非数字字符之后,并保持数字字符串和非数字字符串原有的先后次序。例如,形参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;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 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 original 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 所指字符数组中的字符串应为: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=nbaawrskjghzlicda,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 sex;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 student 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#define 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);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(double 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.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请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的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+)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 所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。例如,有 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 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_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(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(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所指字符串数组中长度最短的字符串所在的行下标,作为函数值返回,并把其串长放在形参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;*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、人员的记录由编号和出生年、月、日组成,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+=_2_;/*d*/return(_3_);)main()S TU stdN=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;S TU kN;int i,n,year;printf(nEnter a year:);scanf(%d,&year);n=fun(std,k,year);if(n=0)printf(nnNo person was born in%dnyear);else printf(nThese persons were bom in%d nu,year);for(i=0;in;i+)printf(%d%d-%d-%dn,ki.num,ki.year,ki.month,ki.day);13、(1)stdi.year(2)stdi(3)n14、函数fun的功能是:将形参a所指数组中的前半部分元素中的值和后半部分元素中的值对换。形参n中存放数组中数据的个数,若n为奇数,则中间的元素不动。例如:若a所指数组中的数据依次为:1、2、3、4、5、6、7、8、9,则调换后为:6、7、8、9、5、1、2、3、4o请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:#include#define源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!N 9void fun(int a|,int n)int i,t,p;/*/p=(n%2=0)?n/2:n/2+_ 1_:for(i=0;in/2;i+)t=ai;/*found*/ai=ap+_ 2_;/字 *年 found*/_ 3_=t;main()int bN=1,2,345,6,7,8,9,i;printf(,fnThe original data:nu);for(i=0;iN;i+)printf(%4d,bi);printf(Ann);fun(b,N);printf(AnThe data after moving:nn);for(i=0;iN;i+)printf(M%4d”,b1);printf(,fn);)14、(1)1 (2)i(3)ap+i中,15、给定程序中,函 数fu n的功能是将形参给定的字符串、整数、浮点数写到文本文件再用字符方式从此文本文件中逐个读入并显示在终端屏幕上。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确崭绸果。注意:源程序存放在考生文件夹下的BLANK1.CI。不得增行或删行,也不得更改程序的结构!#include void fun(char*s,int a,double f)/*found*/_ 1-fp;char ch;fp=fopen(file 1.txt1,w);fprintf(fp,0%s%d%fnH,s,a,f);fclose(fp);fp=fopen(nfile 1 .txt,T);printf(unThe result:nnn);ch=fgetc(fp);/*found*/while(!feof(_ 2_)/*fiound*/putchar(_ 3_);ch=fgetc(fp);putchar(n);fclose(fp);)main()char a10=nHello!n;int b=l2345;double c=98.76;fun(a,b,c);)15、(1)FILE*(2)fp(3)ch16、给定程序中,函数fun的功能是:找 出 NxN矩阵中每列元素中的最大值,并按顺序依次存放于形参b 所指的一维数组中。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include#define N 4void fun(int(*a)N,int*b)int i,j;for(i=0;iN;i+)/*found*/b|i=_ l_;for(j=l;jN;j+)/*不*n d*/if(bil _2_aji)bi=aji;main()int xNN=12,5,8,7,6,1,9,3,1,2,3,4,2,8,4,3,yN,i,j;printf(MnThe matrix:nM);for(i=0;iN;i+)for(j=0;jN;j+)printf(,%4d,xij);printf(nn);/*found*/fun(_3_);printf(unThe result is:);for(i=0;iN;i+)printf(%3dM,yi);printf(,nn);16、(1)aOi(2)(3)x,y17、给定程序中,函数fun的功能是:统计形参s 所指字符串中数字字符出现的次数,并存放在形参t 所指的变量中,最后在主函数中输出。例如,形 参 s 所指的字符串为:abcdef35adgh3kjsdf7o 输出结果为:4。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include void fun(char*s,int*t)int i,n;n=0;/*found*/for(i=0;1 !=0;i+)/*found*/if(si=,O&si=_2_)n+;/*/_ 3;main()char s80=,abcdef35adgh3kjsdnn;int t;printf(nThe original string is:%snr,s);fun(s,&t);printf(AnThe result is:%dnn,t);)17、(1)si(2)9 *t=n18、函数fun的功能是:把形参a 所指数组中的最小值放在元素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存放当前所找最大值的下标。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:#include#define源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!N 9void fun(int a,int n)int ij,max,min,px,pn,t;for(i=0;in-l;i+=2)/*nd,*/max=min=_1_;px=pn=i;for(j=i+l;jn;j+)/*und*不*/if(max_3_)min=a|j;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=max;apx=t;)main()intbN=9,l,4,236,5,8,7,i;printf(AnThe original data:nn);for(i=0;iN;i+)printf(M%4d bi);printf(Ann);fun(b,N);printf(nThe data after moving:nH);for(i=0;iN;i+)printf(,%4d”,bi);printfCAn1);18、(1)ai(2)aj(3)aj19、给定程序中,函数fun的功能是:将形参s 所指字符串中的所有数字字符顺序前移,其他字符顺序后移,处理后新字符串的首地址作为函数值返回。例如,s 所指字符串为:asdl23fgh5#43df,处理后新字符串为:123543asdfgh#dfo请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的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);j=0;k=0;fbr(i=O;in;i+)if(isdigit(si)/*)u*/p_l_=si;j+;)else tk|=si|;k+;)/*d*/for(i=0;i_ 2_;i+)p|j+i=ti;pj+k=O;/*x found*/return 3;main()char s80;printf(Please input:);scanf(n%s,s);printf(nnThe result is:%snu,fun(s);19、(1)j(2)k(3)p20、给定程序中,函数fun的功能是:有 NxN矩阵,根据给定的m(m=N)值,将每行元素中的值均右移m 个位置,左边置为0。例如,N=3,m=2,有下列矩阵1 2 34 5 67 8 9 程序执行结果为0 0 10 0 40 0 7请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include#define N 4void fun(int(*t)N,int m)int i,j;/*und*/for(i=0;i=0;j)*found*/tiU+-2一 =tiU;/*found*/for(j=0;j 3;j+)tij=O;)main()int tN=21,12,13,24,25,16,47,38,29,11,32,54,42,21,33,10,i,j,m;printf(AnThe original array:nH);for(i=0;iN;i+)for(j=0;jN;j+)printfC%2d H,tij);printf(nnn);)printf(uInput m(m=%d):n,N);scanf(n%d*,&m);fun(t,m);printf(,fnThe result is:nn);for(i=0;iN;i+)for(j=0;ja2.中,把奇数从数组中删除,偶数个数通过函数值返回。例如:若 a 所指数组中的数据最初排列为:9、1、4、2、3、6、5、8、7,删除奇数后a所指数组中的数据为:4、2、6、8,返回值为4。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。#include#defineint fun(int int i,j;j=0;不得增行或删行,也不得更改程序的结构!N 9a,int n)for(i=0;in;i+)/*found*/if(1=0)/*fiound*/一2-=aij;j+;)*/return_3_;main()int bN=9,l,4,2,3,6,5,8,7),i,n;printf(AnThe original data:nn);for(i=0;iN;i+)printf(n%4d,bi);printf(Ann);n=fun(b,N);printf(AnThe number of even:%dnn,n);printf(,fnThe even:nn);for(i=0;in;i+)printf(H%4d,bi);printfCnM);)21、(1)ai%2(2)a|j(3)j22、给定程序中,函数fun的功能是:判定形参a所指的NxN(规定N为奇数)的矩阵是否是吆J方,若是,函数返回值为1;不是,函数返回值为0。吆)方”的判定条件是:矩阵每行、每列、主对角线及反对角线上元素之和都相等。例如,以下3x3的矩阵就是一个 幻方:4 9 23 5 78 1 6请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include#define N 3int fun(int(*a)N)int i,j,m 1,m2,row,colum;m 1 =m2=0;for(i=0;iN;i+)j=N-i-1;ml+=aii;m2+=aij;if(m 1 !=m2)return 0;for(i=0;iN;i+)/*foun d*/row=colum=_ 1_;for(j=O;jN;j+)row+=aifj;colum+=aji;/*und*/if(row!=colum)_ 2 _ (row!=ml)return 0;/*found*/return _ 3_;)main()int xNN,i,j;printf(Enter number for array:n);for(i=0;ivN;i+)for(j=0;jN;j+)scanf(”d”,&xij);printf(,Array:n,);for(i=0;iN;i+)forO=0;jN;j+)printf(3d”,xij);printfC。);)if(fun(x)printf(The Array is a magic squareAn1);else printf(The Array isnt a magic squareAn);22、(1)0(2)II(3)123、给定程序中,函数fun的功能是将a 和 b 所指的两个字符串分别转换成面值相同的整数,并进行相加作为函数值返回,规定字符串中只含9 个以下数字字符。例如,主函数中输入字符串:32486和 12345,在主函数中输出的函数值为:44831请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。#include#include#include#define不得增行或删行,也不得更改程序的结构!N 9long ctod(char*s)long d=0;while(*s)if(isdigit(*s)/*found*/d=d*10+*s-_ 1 _;/*fou nd*/_ 2 _return d;)long fun(char*a,char*b)/*und*/return _ 3一;main()char slN,s2N;do printf(Input string si:0);gets(sl);while(strlen(sl)N);do printf(Input string s2:);gets(s2);while(strlen(s2)N);printf(The result is:%ldn,fun(sl,s2);2 3(1)O(2)s+(3)ctod(a)+ctod(b)24、给定程序中,函数fun的功能是:把形参s所指字符串中下标为奇数的字符右移到下一个奇数位置,最右边被移出字符串的字符绕回放到第一个奇数位置,下标为偶数的字符不 动(注:字符串的长度大于等于2)。例如,形参s所指的字符串为:abcdefgh,执行结果为:ahcbedgfo请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include void fun(char*s)int i,n,k;char c;n=0;for(i=0;si!=0*;i+)n+;/*found*/if(n%2=0)k=n-1;else k=n-2;c=_2_;for(i=k-2;i=l;i=i-2)si+2=si;/*found*/sl=_ 3;)main()char s80=nabcdefghn;printf(nThe original string is:%sns);fun(s);printf(nThe result is:%snn,s);)24、1 (2)sk(3)c25、给定程序中,函数fun的功能是:求出形参ss所指字符串数组中最长字符串的长度,将其余字符串右边用字符*补齐,使其与最长的字符串等长。s s 所指字符串数组中共有M 个字符串,且串长VN。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANKLC中。不得增行或删行,也不得更改程序的结构!#include#include#define M 5#define N 20void fun(char(*ss)N)int i,j,n,len=0;for(i=0;ivM;i+)len=strlen(ssi);if(i=0)n=len;if(lenn)n=len;)for(i=0;iM;i+)/*found*/n=strlen(_1_);for(j=0;jlen-n;j+)/*/ssi 2=*;/*found*/ssin+j+3=W;main()char ssM N=S hanghai1,guan gzhou,beijing,tianjingu,cchongqing,);int i;printf(MThe original strings are:nH);for(i=0;iM;i+)printf(n%snn,ssi);printf(nnH);fun(ss);printf(MThe result is:nn);for(i=0;iM;i+)printf(M%sn,ssi);)25、(1)ssi(2)n+j(3)126、给定程序中,函数fun的功能是:将N xN矩阵中元素的值按列右移1个位置,右边被移出矩阵的元素绕回左边。例如,N=3,有下列矩阵1 2 34 5 67 8 9计算结果为3 1 26 4 59 7 8请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得