c语言二级考试试题.pdf
二级C语言上机考试复习资料,共有50套题目一、程序填空题1、给定程序中,函数fu n的功能是:在任意给定的9个正整数中找出按升序排列时处丁中间的数,将原数据序列中比该中间数小的数用该中间数替换,位置不变,在主函数中输出处理后的数据序列,并将中间数作为函数值返同。例如,有9个正整数:1 5 7 2 3 8 7 5 8 2 1 4 5按升序排列时的中间数为:8处理后主函数中输出的数列为:8 8 8 2 3 8 7 8 8 2 1 4 5请在程序的卜划线处填入正确的内容并把下划线删除,使程序得出iE确的结果。注意:源程序存放在考生文件夹下的BLANKLC中。不得增行或删行,也不得更改程序的结构!#in c l ud e#d e f in e N 9in t f un(in i x )in t i,j,k,t,m id,b N ;f o r(i=0;i N:i+)b i=x i;f o r(i=0;i=N/2;i+)k=i;f o r(j=i+l;j b j)k=j;if(k !=i)(/*f o u n d*/t=b i;b i=1;b k =t;)/*f o u n d*/m i d=b 2 ;f o r(i=0;i N;i+)/*f o un(l*/if(x(i _ _ _ _3 _ _ _ _ _ m i d)x i=m id;r e t ur n m id;m a in()in t i,x(N =1,5,7,2 3,8 7,5,8,2 1,4 5):f o r(i=0;i N;i+)p r in t f(%d ,x i);p r in t f(n T h e m i d d a t a is:%d n,f un(x);f o r(i=0;i N;i+)p r in t f(%d 0,x i);p r in(f(n);2、给定程序中,函数f u n的功能是建立一个N XN的矩阵。矩阵元素的构成规律是:最外层元素的值全部为1:从外向内第2层元素的值全部为2;第3层元素的值全部为3,依次类推。例如,若N=5,生成的矩陈为:1111112 2 2 112 3 2 112 2 2 111111请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANKLC中。不得增行或删行,也不得更改程序的结构!#in c l ud e#d e f in e N 7vo id f un(in t (*a)_ I _)(in ti f(N%2=0)m=N/2;e l s e m=N/2+l;f o r(i=0;i m;i+)/*f o u n d*/for(j=_2_;j N-i:j+)a i|j=a N-i-l j=i+l;f o r(k=i+l;k vN-i;k+)a k i=a k N-i-l =_ 3 _;m a in()in t x N L N =0 ,ij;f un(x);p r in t f(iiT h e r e s ul t is:n);f o r(i=0;i N;i+)f o r(j=0:j N;j+)p r in t f(%3 d ;x i j);p r in t f C Vn)3、给定程序中,函数f u n的功能是:将s所指字符串中的所有数字字符移到所有非数字字符之后,并保持数字字符串和非数字字符串原有的先后次序。例如,形参s所指的字符串为:d e f 3 5 a d h 3 k js d f 7n执行结果为:d e f a d h k js d f 3 5 3 7 c请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#in c l ud e vo id f un(c h a r *s)in t i,j=O,k=0;c h a r t I 8 O L t 2 8 0 ;f o r(i=0;s i!=V);i+)if(s i =0,&s i =9r)(/*f o un d*/t 2 Ul=s i;_1 _;)e l s e t l k+=s i;t 2 U=O;t l k =O;/*f o un d*/f o r(i=0;i k;i+)_ 2 _ _ _ _;/*C un d*/f b r(i=();i 3 _;i+)s l k+ij=t 2 ij;m a in()(c h a r s 8 O =d e f 3 5 a d h 3 K js d f 7”;p r in t f(n T h e o r ig in a l s t r in g is :%s n,s);f un(s);p r in t f(A n T h e r e s ul t is :%s n,s);4、给定程序中,函数f u n的功能是:有N X N矩阵,以主对角线为对称线,对称元素相加并将结果存放在左下三角元素中,右上三角元素置为0。例如,若N=3,有下列矩阵:1 2 34 5 67 8 9计算结果为1 0 06 5 01 0 1 4 9请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#in c l ud e#d e f in e N 4/*C un d*/vo id f un(in t (*t)_ _ _ _ 1 _ _ _ _)(in t i,j;f o r(i=l;i N;i+)f o r(j=0;j i:j+)(/*C un d*/-2 _=t i Ul+t U l J;/*f o un d*/3=0;I1m a in()in t t N =2 1,1 2,1 3,2 4,2 5,1 6,4 7,3 8,2 9 J 1,3 2,5 4,4 2,2 1,3 3,1 0),i,j;p r in(f(n T h e o r ig in a l a r r a y:n);f o r(i=0;i N:i+)f o r(j=0;j N:j+)p r in t f(%2 d Ri 皿):p r in t f C A n);f un(t);p r in t f(n T h e r e s ul t is:n);f o r(i=0;i N:i+)f o r(j=0;j N;j+)p r in t f(%2 d 1国I jD;p r in t f(A n);5、给定程序中,函数fu n的功能是:对形参s所指字符串中卜标为奇数的字符按ASCII码大小递增排序,并将排序后下标为奇数的字符取出,存入形参p所指字符数组中,形成一个新串。例如,形参s所指的字符正为:b a a w r s k j g h z l i c d a,执行后p所指字符数组中的字符串应为:a a chjlsw。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的B L A N K 1.C中。不得增行或删行,也不得更改程序的结构!#include v oid fun(cha r*s,cha r*p)(int i,j,n,x,t;n=0;for(i=0;sil!=W;i+)n+:for(i=l;i n-2:i=i+2)/*f o u n d*/_1_;/*f o u n d*/for(j=一2 _+2 ;j sj)t=j;if(!=i)x=si;si=st;st=x;Ifor(i=lj=0;i n;i=i+2,j+)/*f o u n d*/p(jl=一3;ma in()cha r s8 0=,ba a w rskjghz licda ,p5 OJ;printf(nThe origina l string is:%sn,s);fun(s.p);printf(nThe result is:%sn,p);6、程序通过定义并赋初值的方式,利用结构体变量存储了 一名学生的信息。函数f u n的功能是输出这位学生的信息。请在程序的下划线处填入正确的内容并把下划线删除.使程序得出正确的结果。注意:源程序存放在考生文件夹下的B L A N K 1.C中。不得增行或删行,也不得更改程序的结构!#include ty pedef struct int n u m;cha r na me9;cha r sex;struct int y ea r.month.da y ;birthda y;floa t score3;S T U;/*R j u n d*/v oid s h o w(S T U _ J_)int i;printf(n%d%s%c%d-%d-%d ,tt.num.tt.na me,n.sex,tt.birthda y,y ea r,tt.birthda y,m o n th,tt.birthda y.da y);for(i=0;i 3;i+)/*:$:f o u n d*/printf(%5.1f_ 2一);printfCAn);m a i n()(S T U std=h-Zha nghua ;M,19 6 1,10,8,7 6.5,7 8.0,8 2.0 ;printf(nA student da ta:n);/*f o u n d */s h o w(_ 3_);7、给定程序中,函数f u n的功能是:计算NXN矩阵的主对角线元素和反向对角线元素之和,并作为函数值返回。注意:要求先累加主对角线元素中的值,然后累加反向对角线元素中的值。例如,若N=3,有下列矩阵:I 2 34 5 67 8 9 fun函数首先累加1、5、9,然后累加3、5、7,函数的返回值为30。清在程序的卜划线处填入iE确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的B L A N K L C中。不得增行或删行,也不得更改程序的结构!#include#define N 4fun(int tN,in n)int i,sum;/*found*/1;for(i=0;i n;i+)/*found*/sum+=2;for(i=0;i n;i+)/*found*/sum+=_ 3_ ;return sum;ma in()int t0N=21,2,13,24,25,16,47,38,29,ll,32,5 4,42,21,3J0),ij;printf(nThe origina l da ta:n);for(i=0;i N;i+)for(j=0;j N:j+)printf(%4d,tij);printf(nM);)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.5 00000主函数中输出:46 32 40 45 48请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的B L A N K L C中。不得增行或删行,也不得更改程序的结构!#include#include#define N 10double fun(double x|,double*y)int ij;double a v;/*found*/a v=_ l _;/found*/for(i=0;i N;i+)a v =a v +_ 2_;for(i=j=0;i a v)y _ 3 _ =x i;return a v;ma in()int i;double x|N 1 =46,30,32,40,6,17,45,15,48,26);double y N;for(i=0;i=0;i+)printf(%5.0f ,y i);printf(An);9、给定程序中,函数fun的功能是:计算形参x所指数组中N个数的平均值(规定所有数均为正数).将所指数组中小于平均值的数据移至数组的前部,大于等T平均值的数据移至x所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。例如,有 10 个正数:46 30 32 40 6 17 45 15 48 2 6,平均值为:30.5 0(X)00移动后的输出为:30 6 17 15 26 46 32 40 45 48请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的B L A N K l.C 1 o不得增行或删行,也不得更改程序的结构!#include#include#define N 10double fun(double*x)int i.j;double a v,y N;a v=0;/*f0und*/for(i=0;i N;i+)a v +=1;for(i=j=0;i N;i+)if(x i a v)/*found*/y lj=x i;i=0:w hi!e(i N)if(x i!=-l)y j+=x i;/*found*/_ 3 _;fbr(i=O;i N:i+)x ij=y i:return a v;)ma in()(int i;double x N;for(i=();i N:i+)x i=ra nd()%5 0;printf(%4.0fprintf(n);printfCAnThe a v era ge is:%fn fun(x);printf(nThe result:n,fun(x);for(i=0;i N;i+)printf(%5.0f .x i);printfCAn);10、给定程序中,函数f u n的功能是:计算形参x所指数组中N个数的平均值(规定所有数均为正数),将所指数组中大于平均值的数据移至数组的前部,小于等于平均值的数据移至x所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。例如,有 10 个正数:4 6 30 32 40 6 17 45 15 48 2 6,平均值为:30.5 00000移动后的输出为:46 32 40 4 5 48 3 0 6 17 15 26请在程序的下划线处填入iE确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的B L A N K L C中。不得增行或删行,也不得更改程序的结构!#include#include#define N 10double fun(double*x)int i,j;double s,a v,y N;s=0;for(i=0;i N;i+)s=s+x i;/*Cund*/av=_ l _;for(i=j=0;i a v)/*found*/y _2_j=x i;x i=-i;for(i=0;i N;i+)/*他un j*/if(x i!=_ 3 _)y j+=x i;for(i=0;i N;i+)x i=y il;return a v;ma in()int i;double x N=46 30,32,40,6,17,45,15,48,26);for(i=0;i N;i+)printf(%4.0f ,x i);printf(nThe a v era ge is:%fn,fun(x);printfCAnThe result:n,fun(x);fdr(i=O;i N;i+)printf(%5.0fprintf(n);II、函数f u n的功能是:把形参a所指数组中的奇数按原顺序依次存放到a Oh a l、a 2、中,把偶数从数组中删除,奇数个数通过函数值返回。例如:若a所指数组中的数据最初排列为:9、1、4、2、3、6、5、8、7,删除偶数后a所指数组中的数据为:9、1、3、5、7,返回值为5。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的B L A N K L C中。不得增行或删行,也不得更改程序的结构!#include#define N 9int fun(int a,int n)(int i,j;j=0;for(i=0;i n;i+)/*found*/i f(a i%2=_ l _)(/*found*/a fj=a il;-2一;)/*found*/return_3_;)ma in()int bN=9,1.4,2,3,6,5,8,7 .i,n;prirKf(nTlic origina l da ta :n);for(i=0;i N;i+)printf(%4d ,bi);printfC Nn):n=fun(b,N);printK AnThe nu m b e r of odd:%d n.n);printf(nThe odd nu m b e r An);for(i=0;i n;i+)printf(%4d ,bi);printf(An);12、给定程序中,函数f u n的功能是:求s s所指字符串数组中长度最短的字符串所在的行下标,作为函数值返回,并把其串长放在形参n所指变量中。s s所指字符串数组中共有M个字符串,凡串长 N。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的B L A N K L C中。不得增行或删行,也不得更改程序的结构!/include#include#define M 5#define N 20int fun(cha r(*ss)NJ,int*n)(int i,k=0,len=N;/*found*/for(i=0;i _ I_;i+)len=strlen(ssij);if(i=0)*n=len;/*found*/if(len 2 *n)*n=len;k=i;r e t u m(_ 3 );ma in()cha r ssMN=sha ngha i ,gua ngz hou,beijing,tia njing,*chongqing);int n,k,i;printf(nThe origina l strings a re:n);for(i=0;i M:i+)puts(ssi);k=fiin(ss,&n):printf(nTlie length of shortest string is:%dn,n);printf(AnTlie shortest string is:%s nM,sskJ);I13、人员的记录由编号和出生年、月、日组成,N名人员的数据已在主函数中存入结构体数组sid中。函数f u n的功能是:找出指定出生年份的人员,将其数据放在形参k所指的数组中,由主函数输出,同时由函数值返回满足指定条件的人数。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BL AN K 1.C中。不得增行或删行,也不得更改程序的结构!#include#define N 8typedef struct int num;int year,month,day;STU;int fun(STU*std,S T U *k,int year)int i,n=O;for(i=0;i N;i+)/*C und*/if(_ 1 _=year)/*found*/kn+=_2-;/*f0 und*/return(_3_);main()S T U sidN=1,1 984,2,1 5,2,1 983.9,21),3,1 984,9.1.4,1 983,7,1 5,(5,1 985,9,28,6,1 982,1 1.1 5,7.1 982,6,22.8.1 984,8,1 9);S T U kN:int i,n,year;printf(Enter a year:);scanf(%d”.&year);n=fiin(std,k,year);if(n=O)printf(,nNo person was b o m in%d n.year);else prin(f(nThese persons were born in%d n,year);for(i=0;i n;i+)printf(%d%d-%d-%dn,ki.nuin,ki.year,ki.month,ki.day);1 4、函数f u n的功能是:将形参a所指数组中的前半部分元素中的值和后半部分元素中的值对换。形参n中存放数组中数据的个数,若n为奇数,则中间的元素不动。例如:若a所指数组中的数据依次为:1、2、3、4、5、6、7、8、9,则调换后为:6、7、8、9、5、1、2、3、4。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BL AN K 1.C中。不得增行或删行,也不得更改程序的结构!#include#define N 9void fun(int a,int n)I int i,t,p;/*found*/p=(n%2 0)?n/2:n/2+_1 _;for(i=0;ivn/2;i+)(t=ai;/*found*/ai=ap+_2_;/*found*/一3_=t;main()I int bN=1 23,4,567,8,9printf(nTlie original data:nn);for(i=0;i N;i+)printf(4d bi);printf(n);fun(b,N);printf(nThe data after moving:nM);for(i=0;i N;i+)printf(%4d ,bi);printf(n);1 5、给定程序中,函数f u n的功能是将形参给定的字符串、整数、浮点数写到文本文件中,再用字符方式从此文本文件中逐个读入并显示在终端屏幕上。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确崭绸果。注意:源程序存放在考生文件夹下的BL AN K L C中。不得增行或删行,也不得更改程序的结构!#include void fun(char*s,int a,double f)(/*他un j*/_ 1_ fp;char ch;fp=fopen(fileLtxr,w);fprintf(fp,%s%d%fn,s,a,f);fclose(fp):fp=fopen(filel.txr,V);printf(nThe result:nn);ch=fgetc(fp);/*found*/while(!feof(_ 2 _)/*f0 und*/putchar(_3_);ch=fgetc(fp);putcharC n);fclose(fp);)main()(char a1 0=Hello!;int b=1 2345:double c=98.76;fun(a,b,c);1 6、给定程序中,函数f u n的功能是:找出N X N矩阵中每列元素中的最大值,并按顺序依次存放于形参b所指的一维数组中。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BL AN K L C中。不得增行或删行,也不得更改程序的结构!/include#define N 4void fun(int(*a)N,int*b)(int ij;for(i=0;i N;i+)/*S u n d */b i =_ 1_;for(j=l;j N;j+)/*C und*/if(bi_2_aUiD bi=aUHi;)main()(int xNN=1 2,5,8,7,6,l,9,3,1 23,4,2,843,yN,iJ:printf(nThe matrix:n);for(i=0;i N;i+)(for(j=Od N;j+)printf(%4d,xij);printf(n);/*C und*/fun(_3 _);printf(nThe result is:);for(i=0;i N;i+)printf(%3d,y(il);printf(A n);1 7、给定程序中,函数f u n的功能是:统计形参s所指字符串中数字字符出现的次数,并存放在形参t所指的变量中,最后在主函数中输出。例如,形参s所指的字符串为:abcdef35adgh3kjsdf70输出结果为:4。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BL AN K L C中。不得增行或删行,也不得更改程序的结构!#include void fun(char*s,int*t)(int i,n;n=0;/*Sund*/for(i=0;_1 _!=0:i+)/*bund*/if(si=O,&si=2)n+;/*und*/3;main()char s8O=abcdef35adgh3kjsdf7;int t;prinlf(nThe original string is:%sn,s);fun(s,&t);printf(nThe result is:%dn,t);1 8、函数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函数中的m a x存放当前所找的最大值,p x存放当前所找最大值的下标。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BL AN K 1.C中。不得增行或删行,也不得更改程序的结构!#include#detme N 9void fun(int a,int n)int i,j,max,min,px,pn,t;for(i=0;i n-l;i+=2)/*found*/max=min=_ 1 _;px=pn=i;for(j=i+l;j n;j+)/*found*/if(m a x _ 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=max;apx=t;Imain()(int bN=9,l,4,2,3,6,5,8,7,i;printf(nTlie original data A n);for(i=0;i N;i+)printf(%4d ,bi);printf(n);fun(b,N);print*A nThe data after moving:n);for(i=0;i N;i+)printf(,%4 d ,bi);prin(f(n);1 9、给定程序中,函数fun的功能是:将形参s所指字符串中的所有数字字符顺序前移,其他字符顺序后移,处理后新字符串的首地址作为函数值返回。例如,s所指字符串为:asd1 23fgh5#43df,处理后新字符串为:1 23543asdfgh#df。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BL AN K L C中。不得增行或删行,也不得更改程序的结构!#include#include#include#includc char*fun(char*s)int i,j,k,n;char*p,*t;n=strlen(s)+1;t=(char*)malloc(n*sizeof(char);p=(char*)malloc(n*sizeof(char);j=0;k=0;for(i=0;i n;i+)if(isdigit(si)/*Rjund*/p_l_=si;j+;)else tk=si;k+;)/*Rjund*/for(i=0;i _ 2 :i+)pj+i=ti;pj+k=O:/*f0 und*/return _3_;main()(char s80;printf(Please input:);scanf(%s,s);printf(nThe result is:%sn.fun(s);2 0、给定程序中,函数f u n的功能是:有N X N矩阵,根据给定的m (m v=N)值,将每行元素中的值均右移m个位置,左边置为0。例如,N=3,m=2,有下列矩阵1 2 34 5 67 8 9程序执行结果为0 0 10 0 40 0 7清在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的B LA N K 1.C中。不得增行或删行,也不得更改程序的结构!#in clude/defin e N 4void fun(in t in t m)in t i,j;/*Cun d*/for(i=0;i=0;j)/*foun d*/K ilU+_2一l=tilUl;/*他un d*/for(j=O;j-3;j+)tiUJ=O;m ain()in t 1 2,1 3,2 4,2 5,1 6,4 7,3 8,2 9,1 1,3 2,5 4,4 2,2 1,3 3,1 0),i,j,m;prin tf(n The origin al array:n );for(i=0;i N;i+)for(j=0;j N;j+)prin(f(%2 dprin tfCAn );1prin tf(I n put m(m =%d):,N);scan f(%d&m);fun(t,m);prin(f(n The result is:n );for(i=0;i N:i+)for(j=0;j N:j+)prin tf(%2 d R i 皿);prin tf(n );)2 1、函数fun的功能是:把形参a所指数组中的偶数按原顺序依次存放到a0、al、a2、中,把奇数从数组中删除,偶数个数通过函数值返回。例如:若a所指数组中的数据最初排列为:9、1、4、2、3、6、5、8、7,删除奇数后a所指数组中的数据为:4、2、6、8,返回值为4。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的B LA N K1.C中。不得增行或删行,也不得更改程序的结构!#in clude#defin e N 9in t fun(in t a,in t n)in t ij;j=0;fbr(i=0;i n;i+)/*foun d*/if(一1=0)/*foun d*/_ _ 2-=ai;j+;)/*foun d*/return _ 3 _;)m ain()in t bN=9,1.4,2,3,6,5,8,7.i,n;prirK f(n Tlic origin al data:n );for(i=0;i N;i+)prin tf(%4 d ,bi);prin tfC Nn ):n =fun(b,N);prin tK An The n um ber of even :%dn ,n);prin tfC An The even :n );for(i=0;i n;i+)prin tf(%4 d ,bi);prin tf(An );2 2、给定程序中,函数fun的功能是:判定形参a所指的N X N (规定N为奇数)的矩阵是否是“幻方,若 是,函数返回值为1:不是,函数返回值为0。“幻方”的判定条件是:矩阵每行、每列、主对角线及反对角线上元素之和都相等。例如,以下3X 3的矩阵就是一个吆J方:4 9 23 5 78 1 6清在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的B LA N K 1.C中。不得增行或删行,也不得更改程序的结构!#in clude#defin e N 3in t fun(in t(*a)N)in t ij,m l,m 2,row,colum;m l=m 2=0;for(i=0;i N;i+)j=N-i-l;m l+=alii;m 2+=aliJ ljK iftm l!=m 2)return 0;for(i=0;i N;i+)(/*foun d*/row=colum=_1 _;Cr(j=O;jvN;j+)row+=ai(j;colum+=aljli;/*f()un d*/if(row!=colum)_ 2_(row!=m l)return 0;/*f0 un d*/return 3 :)m ain()in t x(NlN,ij;prin tf(E n ter n um ber tbr array:n );for(i=0;i N;i+)for(j=O;j N;j+)scan f(%d,&xiJ UD;prin tf(Array:n );for(i=0;i N;i+)for(j=0;j N;j+)prin tf(%3 d,xil(jl);prin tfCXn *);if(fun(x)prin tf(The Array is a m agic squareAn );else prin tf(The Array isn t a m agic square.Xn );2 3、给定程序中,函数f u n的功能是将a和b所指的两个字符串分别转换成面值相同的整数,并进行相加作为函数值返I可,规定字符串中只含9个以下数字字符。例如,主函数中输入字符串:3 2 4 8 6和1 2 3 4 5,在主函数中输出的函数值为:4 4 8 3 k请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的B LA N KLC中。不得增行或删行,也不得更改程序的结构!#in clude#in clude#in clude#defin e N 9lon g ctod(char*s)(lon g d=0:while(*s)if(isdigit(*s)/*foun d*/d=d*1 0+*s-_1 _;/*foun d*/_ 2_;return d;lon g fun(char*a,char*b)(/*foun d*/return _3 _;m ain()char slN,s2 N;do(prin tf(I n put strin g si:);gets(sl);while(strlen(sl)N);do prin tf(I n put strin g s2 :);gets(s2);while(strlen(s2)N);prin tf(The result is:%ldn ,fun(sl,s2);2 4、给定程序中,函数f u n的功能是:把形参s所指字符串中卜标为奇数的字符右移到卜.个奇数位置,最右边被移出字符申的字符绕回放到第个奇数位置,卜.标为偶数的字符不动(注:字符串的长度大于等于2)。例如,形参s所指的字符串为:ab c d e f g h,执行结果为:ahcbedgfo请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的B LA N KLC中。不得增行或删行,也不得更改程序的结构!#in clude void fun(char*s)in t i,n,k;char c;n=0;for(i=0;si!=W;i+)n+;/*他un =l;i=i-2)si+2=si;/*foun d*/sl=3;)m ain()char s8 O=abcdefgh;prin tf(n The origin al strin g is:%sn ,s);fun(s);prin tf(n The result is:%sn ,s);2 5、给定程序中,函数f u n的功能是:求出形参s s所指字符串数组中最长字符串的长度,将其余字符串右边用字符*补齐,使其与最长的字符串等长。s s所指字符半数组中共有M个字符串,且串长v N。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的B LA N KLC中。不得增行或删行,也不得更改程序的结构!#in clude#in clude#defin e M 5#defin e N 2 0void fun(char