《二级C语言上机考试复习题库(50套题).pdf》由会员分享,可在线阅读,更多相关《二级C语言上机考试复习题库(50套题).pdf(166页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、二 级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请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。#include#define N 9int fun(int x)int i,j,k,t,mid,bN;for(
2、i=0;iN;i+)bi=xi;fdr(i=0;i=N/2;i+4-)k=i;for(j=i+l;jbj)k=j;if(k!=i)(/*found*/t=bi;bi=_l_;bk=t;)/*/mid=b_2_;fbr(i=0;iN;i+)/*found*Iififxi_3_mid)xi=mid;return mid;main()int i,xN=1,5,7,23,87,5,8,21,45);fbr(i=O;iN;i+)prin氓 d,xi);printf(nThe mid data is:%dn,fun(x);fbr(i=O;iN;i+)printf(%d,xi);printfn);f2、给定
3、程序中,函数fun的功能是建立一个N x N 的矩阵。矩阵元素的构成规律是:最外层元素的值全部为1;从外向内第2 层元素的值全部为2;第 3 层元素的值全部为3,依次类推。例如,若 N=5,生成的矩阵为:1111112221123211222111111请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。#include#define N 7/*found*/void fun(int(*a)_ 1 _)intif(N%2=0)m=N/2;elsem=N/2+l;fbr(i=O;im;i-H-)/*u nd*/for(j=_ 2 _;jN-i;j+)aij=aN-i-lU=i+
4、l;fdr(k=i+l;kN-i;k+)aki=akN-i-l=_3_;fmain()int xNN=O,ij;fiin(x);printf(HnThe result is:nH);for(i=O;iN;i+)fbr(j=O;jN;j+)printf(n%3dn,xij);printf(unn);f)3、给定程序中,函数ftin的功能是:将 s 所指字符串中的所有数字字符移到所有非数字字符之后,并保持数字字符串和非数字字符串原有的先后次序。例如,形 参 s 所指的字符串为:def35adh3kjsdf7o 执行结果为:defadhkjsdf3537o请在程序的下划线处填入正确的内容并把下划线删
5、除,使程序得出正确的结果。#include void fun(char*s)int i,j=0,k=0;char tl80,t280;for(i=0;si!-0*;i+)if(si=,0,&si=,9,)t2Ul=si;_ 1 _;else tlk-H-=si;t2U=0;tlk=O;/*found*/for(i=O;ik;i+)2for(i=O;i_3_;i+)sk+i=t2i;fmain()char s80-*def35adh3kjsdf7n;printffnThe original string is:%sn,s);fun(s);printf(nnThe result is:%snn,s
6、);)4、给定程序中,函数fiin的功能是:有N x N 矩阵,以主对角线为对称线,对称元素相加并将结果存放在左下三角元素中,右上三角元素置为0。例如,若 N=3,有下列矩阵:123456789 计算结果为10065010149请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。#include#define N 4/*found*/void fun(int(*t)_1_)fdr(i=l;iN;i+)for(j=0;ji;j+)/*u nd*/_ 2 _=tij+tji;/*found*/3=0;main()int tN=21,12,13,24,25,16,47,38,29,
7、11,32,54,42,21,33,10,i,j;printf(nThe original array:n);for(i=0;iN;i+)for(j=0;jN;j+)print/%2d,tij);printf(n);)fun(t);printf(nThe result is:n);fbr(i=O;iN;i+)forO=0;jN;j+)printf(%2d,tij);printf(n);)5、给定程序中,函 数 fu n 的功能是:对 形 参 s 所指字符串中下标为奇数的字符按ASCH码大小递增排序,并将排序后下标为奇数的字符取出,存入形参p 所指字符数组中,形成一个新串。例如,形 参 s 所指
8、的字符串为:baawrskjghzlicda,执行后p 所指字符数组中的字符串应为:aachjlsWo请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。#include void fun(char*s,char*p)int x,t;n=0;fdr(i=O;si!-0*;i+)n+;fbr(i=l;in-2;i=i+2)1for(j=_2_+2;jsU)t=j;if(t!=i)x=si;si=st;st=x;)for(i=l,j=0;in;i=i+2,j+)pj=si;/*found*/Plj=一3一;fmain()char s80=nbaawrskjghzlicdaH,p5
9、0;printfi(nnThe original string is:%snn,s);fim(s,p);printf(unThe result is:%snH,p);)6、程序通过定义并赋初值的方式,利用结构体变量存储了一名学生的信息。函 数ftin的功能是输出这位学生的信息。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。#include typedef struct int num;char name9;char sex;struct int year,month,day;birthday;float score3;STU;void show(STU _1_)int
10、i;printf(Hn%d%s%c%d-%d-%dn,tt.num,tt.name,tt.sex,tt.birthday.year,tt.birthday.month,tt.birthday.day);fbr(i=O;i3;i-H-)/*found*Iprintf(%5.1f,_2);printf(n);)main()STU std=l,Zhanghua,M,1961,10,8,76.5,78.0,82.0;printf(nA student data:n);/*f ond*/show(_3_);7、给定程序中,函数fun的功能是:计算N x N 矩阵的主对角线元素和反向对角线元素之和,并作为
11、函数值返回。注意:要求先累加主对角线元素中的值,然后累加反向对角线元素中的值。例如,若 N=3,有下列矩阵:1 2 34 5 67 8 9fim 函数首先累加1、5、9,然后累加3、5、7,函数的返回值为30。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。#include#define N 4fun(int tN,int n)int i,sum;/*u nd*/1fdr(i=O;in;i-H-)sum+=_2for(i=O;in;i-H-)/*u nd*/sum+=tin-i-_3;return sum;)main()int tN=21,2,13,24,25,16,47
12、,38,29,ll,32,54,42,21,3,10,ij;printf(nThe original data:n);fbr(i=O;iN;i+)for(j=O;jN;j+)printf(%4d,tij);printf(n);)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 3
13、2 40 45 48请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。#include#include#define N 10double fun(double x,double*y)int ij;double av;/*toun d*/av=1/*u nd*/fdr(i=O;iN;i+)av=av+2fbr(i=j=O;iav)y_3_=xi;yU=-i;return av;)main()int i;double xN=46,30,32,40,6,17,45,15,48,26);double yN;for(i=0;i=0;i+)printf(H%5.0f H,yi);pr
14、intf(Hn,!);)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请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。#include#include#define N 10double fun(dou
15、ble*x)int i,j;double av,yN;av=0;/*u nd*/for(i=0;iN;i+)av+=_ 1fbr(i=j=O;iN;i+)if(xiav)yj=xi;xi=-l;_2_;i=0;while(iN)if(xi!=-l)yj+=xi;/*found*I_ 3 _;)fbr(i=O;iN;i+)xi=yi;return av;fmain()int i;double xN;for(i=0;iN;i+)xi=rand()%50;printf(,%4.0f n,xi);printf(Hnn);printffWThe average is:%fnn,fun(x);printf
16、(HnThe result:nH,fun(x);for(i=0;iN;i+)printf(n%5.0f H,xi);printf(”n”);f10、给定程序中,函数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请在程序的下划线处填入正确的内容并
17、把下划线删除,使程序得出正确的结果。#include#include#define N 10double fun(double*x)int i,j;double s,av,yN;s=0;for(i=0;iN;i-H-)s=s+xi;/*u nd*!av=_ 1 _;for(i=j=O;iav)y_2_=xi;xi=-l;fbr(i=O;iN;i+)/*u nd*jif(xi!=_3_)yj+=xi;for(i=0;iN;i-H-)xi=yi;return av;main()int i;double xN=46,30,32,40,6,17,45,15,48,26);fbr(i=O;iN;i+)p
18、rintf(%4.0f,xi);printf(n);printf(nThe average is:%fn,fun(x);printf(nThe result:n,fun(x);fbr(i=O;iN;i+)printf(%5.0f,xi);printf(n);f11、函 数 fu n 的功能是:把 形 参 a 所指数组中的奇数按原顺序依次存放到a0,al.a2.中,把偶数从数组中删除,奇数个数通过函数值返回。例如:若 a 所指数组中的数据最初排列为:9、1、4、2、3、6、5、8、7,删除偶数后a 所指数组中的数据为:9、1、3、5、7,返回值为5。请在程序的下划线处填入正确的内容并把下划线删除
19、,使程序得出正确的结果。#include#defineN 9int fun(inta口,int n)j=0;fbr(i=0;in;i+)/*u nd*/if(ai%2=_1 _)(/*found*/aj=ai;2_;/*f ond*/return_3_;main()int bN=9,l,4,2,3,6,5,8,7),i,n;printf(nThe original data:n);fbr(i=0;iN;i+)printf(%4d,bi);printf(n);n=fun(b,N);printf(nThe number of odd:%d n,n);printf(nThe odd number:n
20、);fbr(i=0;in;i+)printf(%4d,bi);printf(n);12、给定程序中,函 数 fun的功能是:求s s 所指字符串数组中长度最短的字符串所在的行下标,作为函数值返回,并把其串长放在形参n 所指变量中。ss 所指字符串数组中共有M 个字符串,且串长 N。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。#include#include#define M 5#define N 20int fun(char(*ss)N,int*n)int i,k=0,len=N;/*und*Ifdr(i=0;i_1_;i-H-)len=strlen(ssi);if(
21、i=0)*n=len;/*/if(len _2_*n)*n=len;k=i;)/*foun d*/return(_3_);fmain()char ssMN=Hshanghain,!guangzhouH,beijingn,tianjing,7chongqingn);int n,k,i;printfVnThe original strings are:nn);fbr(i=O;iM;i-H-)puts(ssi);k=fun(ss,&n);printf(HnThe length of shortest string is:%dnH,n);printf(nnThe shortest string is:
22、%snn,ssk);13、人员的记录由编号和出生年、月、日组成,N名人员的数据已在主函数中存入结构体数 组std中。函数fun的功能是:找出指定出生年份的人员,将其数据放在形参k所指的数组中,由主函数输出,同时由函数值返回满足指定条件的人数。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。#include#define N 8typedef struct int num;int year,month,day;STU;int fun(STU*std,STU*k,int year)int i,n=0;for(i=0;iN;i+)/*f*/if(1 =year)/*u n d*
23、!kn+=_2_;/*f*/return(_3_);imain()STU 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,亿 1982,6,22,8,1984,8,19;STU kN;int i,n,year;printf(HEnter a year:);scanf(n%dH,&year);n=fun(std,k,year);if(n=0)printf(nnNo person was born in%d nn,year);else printf(,!nThese persons were
24、born in%d nH,year);fbr(i=O;in;i+)printf(n%d%d-%d-%dn!,ki.num,ki.year,ki.month,ki.day);)f14、函数fun的功能是:将形参a 所指数组中的前半部分元素中的值和后半部分元素中的值对换。形 参 n 中存放数组中数据的个数,若 n 为奇数,则中间的元素不动。例如:若 a 所指数组中的数据依次为:1、2、3、4、5、6、7、8、9,则调换后为:6、7、8、9、5、1、2、3、4。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。#include#define N 9void fun(int a,i
25、nt n)int i,t,p;/*f ond*/p=(n%2=0)?n/2:n/2+_ 1 _;for(i=0;in/2;i+)(t=ai;/*found*/ai=ap+_2_J;/*nd*I 3 _ =t;)main()int bN=l,2,3,4,5,6,7,8,9,i;printf(nThe original data:n);for(i=0;iN;i+)printf(%4d,bi);printfn);fun(b,N);printf(nThe data after moving:n);fbr(i=O;iN;i+)printf(%4d,bi);printf(n);15、给定程序中,函数fun
26、的功能是将形参给定的字符串、整数、浮点数写到文本文件中,再用字符方式从此文本文件中逐个读入并显示在终端屏幕上。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确粉绸果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include void fun(char*s,int a,double f)_1_ f p;char ch;fp=fdpen(nfilel.txtH,nwn);fprintf(fp,H%s%d%fnn,s,a,f);fclose(fp);fp=fdpen(nfilel.txtH,V);printf(HnThe result:
27、nnn);ch=fgetc(fp);/*found*/while(!feof(2_)/*u nd*/putchar(_ 3_);ch=fgetc(fp);putchar(n);fclose(fp);)main()char a10=,!Hello!n;int b=12345;double c=98.76;fun(a,b,c);16、给定程序中,函数fun的功能是:找 出 N x N 矩阵中每列元素中的最大值,并按顺序依次存放于形参b 所指的一维数组中。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK 1.C中。不得增行或删行,也不得
28、更改程序的结构!#include#define N 4void fun(int(*a)N,int*b)int ij;fbr(i=O;iN;i+)/*f ond*/for(j=l;jN;j+)/*u nd*/if(bi_2_aji)bi=aji;main()int xNN=12,5&7,6,9,3,1,2,3,4,2,8,4,3,yN,i,j;printf(HnThe matrix:nn);fbr(i=0;iN;i+)for(j=O;jN;j+)printf(n%4dxij);printf(unn);/*u nd*/fiin(_ 3_);printf(nnThe result is:);fbr(
29、i=O;iN;i+)printf(n%3dn,yi);printf(,nH);17、给定程序中,函数fun的功能是:统计形参s 所指字符串中数字字符出现的次数,并存 放 在 形 参 t 所指的变量中,最后在主函数中输出。例 如,形 参 s 所指的字符串为:abcdef35adgh3kjsdf7o 输出结果为:4。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。#include void fun(char*s,int*t)int i,n;n=0;/*u nd*Ifbr(i=O;_ _ 1_!=0;i+)/*f ond*/if(si=O&si=_ 2 _)n+;/*u nd*
30、!_3 _ ;)main()char s80=nabcdef35adgh3kjsdf7n;int t;printffnThe original string is:%sn!,s);fun(s,&t);printf(unThe result is:%dnH,t);f18、函数fun的功能是:把形参a 所指数组中的最小值放在元素a0中,接着把形参a 所指数组中的最大值放在al元素中;再 把 a 所指数组元素中的次小值放在a2中,把 a 所指数组元素中的次大值放在a 3;其余以此类推。例如:若 a 所指数组中的数据最初排列为:9、1、4、2、3、6、5、8、7;则按规则移动后,数据排列为:1、9、2
31、、8、3、7、4、6、5。形 参 n中存放a所指数组中数据的个数。注意:规 定fun函数中的max存放当前所找的最大值,px存放当前所找最大值的下标。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。#include#define N 9void fun(int a,int n)int ij,max,min,px,pn,t;for(i=0;in-l;i+=2)(/*d*/max=min=_1_;px=pn=i;for(j=i+l;jn;j+)/*f*/if(max_3_)min=aj;pn=j;)if(pn!=i)t=ai;ai=min;apn=t;if(px=i)px=p
32、n;)if(px!=i+l)t=ai+l;ai+l=max;apx=t;)main()int bN=9,l,4,2,3,6,5,8,7),i;printf(nThe original data:n);fbr(i=0;iN;i+)printf(%4d,bi);printf(n);fun(b,N);printf(nThe data after moving:n);fbr(i=0;iN;i+)printf(%4d,bi);printf(n);)19、给定程序中,函数fun的功能是:将形参s 所指字符串中的所有数字字符顺序前移,其他字符顺序后移,处理后新字符串的首地址作为函数值返回。例如,s 所指字符
33、串为:asdl23fgh5#43df,处理后新字符串为:123543asdfgh#df。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。#include#include#include#include char*fun(char*s)int i,j,k,n;char*p,*t;n=strlen(s)+l;t=(char*)malloc(n*sizeofl(char);p=(char*)malloc(n*sizeof(char);j=0;k=0;fbr(i=O;in;i-H-)if(isdigit(si)/*/p _ l_=si;j+;)else tk=si;k+;fdr(
34、i=O;i_ 2 _;i+)pj+i=ti;pj+k=O;/*u nd*/return _ 3_;)main()char s80;printf(Please input:);scanf(%s,s);printf(nThe result is:%sn,fun(s);)20、给定程序中,函数fim 的功能是:有 N x N 矩阵,根据给定的m(m =N)值,将每行元素中的值均右移m 个位置,左边置为0。例如,N=3,m=2,有下列矩阵1 2 34 5 67 8 9 程序执行结果为0 0 10 0 40 0 7请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。#include#d
35、efine N 4void fiin(int(*t)N,int m)/*u n d*/fdr(i=O;i=0;j)/*u nd*/*toun d*/for0=O;j_3_;j+)tiUl=O;)fmain()int tN=21,12,13,24,25,16,47,38,29,ll,32,54,42,21,33,10,i,j,m;printf(nnThe original array:nH);fbr(i=O;iN;i+)for(j=0;jN;j+)printf(%2d,tij);printf(n);)printf(Input m(m=%d):,N);scanf(%d,&m);fun(t,m);p
36、rintf(nThe result is:n);fbr(i=O;iN;i+)fbr(j=O;jN;j+)printf(%2d,tij);printf(n);)if21、函 数fu n的功能是:把 形 参a所指数组中的偶数按原顺序依次存放到a0,al,a2.中,把奇数从数组中删除,偶数个数通过函数值返回。例如:若a所指数组中的数据最初排列为:9、1、4、2、3、6、5、8、7,删除奇数后a所指数组中的数据为:4、2、6、8,返回值为4,请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。#include#define N 9int fun(int a,int n)int i,j
37、;j=o;for(i=0;in;i-H-)/*f ond*/if(_1 =0)/*u nd*!2 =ai;j+;return_3_;)main()int bN=9,l,423,6,5,8,7,i,n;printffXnThe original data:nn);for(i=0;iN;i+)printf(H%4d bi);printf(unn);n=fun(b,N);printffnThe number of even:%dn,n);printf(unThe even:nH);for(i=0;in;i+)printf(u%4d”,bi);printf(unn);f22、给定程序中,函数 f i
38、r n 的功能是:判定形参a 所指的N xN (规 定 N 为奇数)的矩阵是否是 幻方,若是,函数返回值为1;不是,函数返回值为0。幻方 的判定条件是:矩阵每行、每列、主对角线及反对角线上元素之和都相等。例 如,以 下 3 x 3 的矩阵就是一个 幻方:4 9 23 5 78 1 6请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。#include#define N 3int fun(int(*a)N)int m2,row,colum;ml=m2=0;fbr(i=O;iN;i+)j=N-i-l;ml+=aii;m2+=aij;if(m 1 !=m2)return 0;for
39、(i=0;iN;i+)/*n*/row=colum=_ 1 _;for(j=0;jN;j+)row4-=aij;colum+=aji;/*u nd*/ifif(row!=colum)_ 2 _ (row!=ml)return 0;)/*u nd*Ireturn _ 3_;)main()int xNN,ij;printfEnter number for array:nn);fdr(i=O;iN;i+)fbr(j=O;jN;j+)scanf(,%d,&xij);printf(nArray:nH);for(i=O;iN;i+)fbr(j=O;jN;j+)printf(M%3dH,xij);print
40、f(nnn);)if(fun(x)printfi(nThe Array is a magic square.nn);else printf(nThe Array isnt a magic square.nn);23、给定程序中,函数fun的功能是将a和b所指的两个字符串分别转换成面值相同的整数,并进行相加作为函数值返回,规定字符串中只含9个以下数字字符。例如,主函数中输入字符串:32486和12345,在主函数中输出的函数值为:44831。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。#include#include#include#define N 9long cto
41、d(char*s)long d=0;while(*s)if(isdigit(*s)/*f ond*/d=d*10+*s-1/*u nd*/_ 2 _;return d;)long fun(char*a,char*b)/*found*/return _ 3 _;)main()char slN,s2N;do printR Input string si:”);gets(sl);while(strlen(sl)N);do printf(nInput string s2:);gets(s2);while(strlen(s2)N);printf(nThe result is:%ldnn,fun(sl,s
42、2);f24、给定程序中,函数fun的功能是:把形参s 所指字符串中下标为奇数的字符右移到下一个奇数位置,最右边被移出字符串的字符绕回放到第一个奇数位置,下标为偶数的字符不动(注:字符串的长度大于等于2)。例如,形参s 所指的字符串为:abcdefgh,执行结果为:ahcbedgL请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。#include void fun(char*s)int i,n,k;char c;n=0;fdr(i=O;si!=,0,;i+)n+;/*f ond*/if(n%2=0)k=n-_1elsek=n-2;/*u nd*/c=2fdr(i=k-2;i
43、=l;i=i-2)si+2=si;/*n*Isl=_3_;main()char s80=nabcdefghn;printfXnThe original string is:%sn”,s);fun(s);printf(nnThe result is:%snH,s);25、给定程序中,函 数 fun的功能是:求出形参s s 所指字符串数组中最长字符串的长度,将其余字符串右边用字符*补齐,使其与最长的字符串等长。SS所指字符串数组中共有M 个字符串,且串长 N。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。#include#include#define M 5#define
44、N 20void fun(char(*ss)N)int i,j,n,len=0;fbr(i=O;i M;i+)len=strlen(ssi);if(i=0)n=len;if(lenn)n=len;)fdr(i=O;iM;i+)n=strlen(_1_);for(j=O;jlen-n;j-H-)/*found*/ssi _2 =*;/*nd*Issin+j+_3_-0*;main()char ssMN=nshanghai,tguangzhou,7,beijing,7,tianjing,7,cchongqingn);int i;printThe original strings are:nn);f
45、or(i=0;iM;i-H-)printf(,%sn,ssi);printf(”n);fiin(ss);printf(HThe result is:nn);for(i=O;iM;i+)printf(u%snH,ssi);26、给定程序中,函数fun的功能是:将 N x N 矩阵中元素的值按列右移1 个位置,右边被移出矩阵的元素绕回左边。例如,N=3,有下列矩阵1 2 34 5 67 8 9 计算结果为3 1 26 4 59 7 8请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。#include#define N 4void fun(int(*t)N)/*found*jfd
46、r(i=O;i=l;j-)/*u nd*/t i 3 _ =x;main()int tN=21,12,13,24,25,16,47,38,29,11,32,54,42,21,33,10),i,j;printffThe original array:nn);fdr(i=O;iN;i+)fbr(j=O;jN;j+)printfC%2d H,tij);printf(n”);fiin(t);printf(unThe result is:nH);fbr(i=O;iN;i+)for(j=O;j N;j+)printf(n%2 d,ti皿);printf(HnH);27、给定程序中,函数fun的功能是根据形
47、参i 的值返回某个函数的值。当调用正确时,程序输出:x 1=5.000000,x2=3.000000,xl*xl+xl*x2=40.000000请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。#include double fl(double x)return x*x;double f2(double x,double y)return x*y;/*found*/_1_ fun(int i,double x,double y)if(i=D/*u nd*/return _ 2 _(x);elsereturn _ 3_(x,y);main()double xl=5,x2=3,
48、r;r=fun(l,xl,x2);r+=fun(2,xl,x2);printf(Hnxl=%f,x2=%f,xl*xl+xl*x2=%fnnn,xl,x2,r);)28、给定程序的主函数中,已给出由结构体构成的链表结点a、b、c,各结点的数据域中均存入字符,函 数fun()的作用是:将a、b、c三个结点链接成一个单向链表,并输出链表结点中的数据。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。#include typedef struct list char data;struct list*next;void fun(Q*pa,Q*pb,Q*pc)Q*p;/*f*/pa
49、-next=_1pb-next=pc;p=pa;while(p)/*/printf(%c ,2);/*Qund*/P=3)printf(n);main()Q a,b,c;a.data-E*;b.data=,F,;c.data-G*;c.next=NULL;fun(&a,&b,&c);29、给定程序中,函数fun的功能是:对 形参s s 所指字符串数组中的M 个字符串按长度由短到长进行排序。ss所指字符串数组中共有M 个字符串,且串长N。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。#include#include#define M 5#define N 20void f
50、un(char(*ss)N)int i,j,k,nM;char tN;for(i=0;iM;i+)ni=strlen(ssi);fbr(i=O;iM-l;i+)k=i;fbr(j=_1_;jnj)_ 2 _;if(k!=i)strcpy(t,ssi);strcpy(ssi,ssk);*u nd*/strcpy(ssk,_3_);nk=ni;main()char ssMN=Hshanghai,nguangzhoun,beijing,tianjing,7cchongqing,);int i;printfVnThe original strings are:nn);fbr(i=O;iM;i+)pri