二级c语言上机考试一百题及答案.pdf
全国计算机考试二级C语言上机考试一百题及答案第一部分填空题注意:源程序存放在考生文件夹下的B L A N K1.C中。1 .不得增行或删行,也不得更改程序的结构!2 .请在程序下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。1 .给定程序中,函 数 F U N 的功能是:计算出带有头接点的单向链表中各结点数据域之和作为函数值返回。#i nc lud e#i nc lud e#d e f i ne N 8type d e f struc t li st i nt d a ta;struc t li st*ne xt;SL I ST;SL I ST*c re a tli st(i nt*);voi d outli st(SL I ST*);i nt f un(SL I ST*h)SL I ST*p;i nt s=0;p=h-ne xt;wh i le(p)/s+=p-_ _ _ 1 _ _ _;d a tap=p-_ _ _ 2 _ _ _;ne xt)re turn s;)ma i n()SL I ST*h e a d;i nt a N =1 2,8 7,4 5,3 2,9 1,1 6,2 0,4 8);h e a d=c re a tli st(a);outli st(h e a d);pri ntf(nsum=%d n,f un(_ _3 _ _ _);h e a d)SL I ST*c re a tli st(i nt a )SL I ST*h,*p,*q;i nt i;h=p=(SL I ST*)ma lloc(si ze of(SL I ST);f or(i=0;i d a ta=a i ;p-ne xt=q;p=q;)p-ne xt=0;re turn h;voi d outli st(SL I ST*h)SL I ST*p;p=h-ne xt;i f (p=N U L L)pri ntf(Th e li st i s N U L L!n);e lse pri ntf (A nH e a d );d o pri ntf(一%d ,p-d a ta);p=p-ne xt;wh i le(p!=N U L L);pri ntf (-E nd n);2.给定程序中,函数F U N的功能是:求出形参S S所指字符串数组中最长字符串的长度,其余字符串左边用字符*补齐,使其与最长的字符串等长。字符串数组中工有M个字符串,且串长 必i ti nc lud etti nc lud ettd e f i ne d e f i nevoi d f un(c h a r i nt i,j,52 0(*ss)N )k=0,n,m,le n;f or(i=0;i n)MNn=le n;k二 _ _ _1 _ _ _;i)f or(i=0;i=0;j )le nss i m-=ss i j ;f or(j=0;j n-le n;j+)ssE i j =3;*)m a i n()c h a r s M N =sh a ng h a i ,g ua ng zh ou”,b e i j i ng ,ti a nj i ng ,c c h ong qi ng ;i nt i;pri ntf (z,nTh e ori g i na l stri ng s a re :n);f or(i=0;i M;i+)pri ntf (,z%s n/z,ss i );pri ntf(n);f un(ss);pri ntf(nTh e re sult:n);f or(i=0;i M;i+)pri ntf(%s n”,ss i );3 .人员记录由编号和出生年,月,日组成,N名人员的数据已在主函数中存入结构体数组std且编号唯一。函 数f u n的功能是;找出指定编号人员的数据,作为函数值返回,有主函数输此若指定编号不存在,返回数据中的编号为空串。tti nc lud e tti nc lud e d e f i ne N 8type d e f struc t c h a r num 1 0 ;i nt ye a r,month,d a y;STU;_ _ _ 1 _ _ _ f un(STU *std,c h a r*num)STU i nt i;STU a=,9 9 9 9,9 9,9 9;f or(i=0;i N;i+)i f (strc mp(2,num)=0 )std i .numre turn(_ _ _ 3);std i re turn a;ma i n()STU std N =1 1 1 1 1 1,1 9 8 4,2,1 5,2 2 2 2 2 2”,1 9 8 3,9,2 1,“3 3 3 3 3 3,1 9 8 4,9,1,4 4 4 4 4 4,1 9 8 3,7,1 5,“5 5 5 5 5 5,1 9 8 4,9,2 8,6 6 6 6 6 6”,1 9 8 3,1 1,1 5,“7 7 7 7 7 7,1 9 8 3,6,2 2,“8 8 8 8 8 8”,1 9 8 4,8,1 9;STU p;c h a r n 1 0 =6 6 6 6 6 6”;p=f un(std,n);i f (p.num 0 =0)pri ntf(nN ot f ound !n);e lse pri ntf(X nSuc c e e d !n );pri ntf (%s%d-%d-%d n/z,p.num,p.ye a r,p.month,p.d a y);)4 .给定程序中已建立一个带有头结点的单向链表,链表中的各结点按数据域递增有序链接。函数f u n的功能:删除链表中数据域值相同的结点,使之保留一个。i nc lud e i nc lud e d e f i ne N 8type d e f struc t li st i nt d a ta;struc t li st*ne xt;SL I ST;voi d f un(SL I ST*h)SL I ST*p,*q;p=h-ne xt;i f (p!=N U L L)q=p-ne xt;wh i le(q!=N U L L)i f (p-d a ta=q-d a ta)p-ne xt=q-ne xt;f re e(_ _1 _ _ _);qq=p-_ _2 _ _ _;ne xte lse P=q;q=q-_ _ _ 3 _ _ _;ne xt)SL I ST*c re a tli st(i nt*a)SL I ST*h,*p,*q;i nt i;h=p=(SL I ST*)ma lloc(si ze of(SL I ST);f or(i=0;i d a ta=a i ;p-ne xt=q;p=q;)p-ne xt=0;re turn h;)voi d outli st(SL I ST*h)SL I ST*p;p=h-ne xt;i f (p=N U L L)pri ntf (nTh e li st i s N U L L!n);e lse pri ntf(nH e a d );d o pri ntf (,-%dz,,p-d a ta);p=p-ne xt;wh i le (p!=N U L L);pri ntf(-E nd n);ma i n()SL I ST*h e a d;i nt a N =l,2,2,3,4,4,4,5;h e a d=c re a tli st(a);pri ntf(nTh e li st b e f ore d e le ti ng :n);outli st(h e a d);f un(h e a d);pri ntf(nTh e li st a f te r d e le ti ng :n);outli st(h e a d);5.函数f un的功能是进行数字字符转换。若形参c h 中是数字字符F 9,贝 0 转换成9,1 转换成8,2 转换成7 9 转换成0;若是其他字符则保持不变;并将转换后的结果作为函数值返回.i nc lud e 1 _ _ _f un(c h a r c h)c h a ri f (c h=0*&-2)c h =5 9)re turn 9 -(c h-_ _ _ 3 _ _ _ _);re turn c h ;.m a i n()c h a r c l,c 2;pri ntf(nTh e re sult:n);c l=,2 ;c 2 =f un(c l);O pri ntf (c l=%cc l=8 ;c 2pri ntf(c l=%cc l=,a,;c 2 :pri ntf(c l=%cc 2=%c n”,f un(c l);c 2=%c n”,f un(c l);c 2=%c n,z,c l,c l,c l,c 2);c 2);c 2);6.给定程序中,函 数f u n的功能是:对形参s s所指字符串数组中的M字符串按长度由短到长进行排序。S S所指字符串数组中共有M个字符串,且串长代tti nc lud e i nc lud ettd e f i ne d e f i neM 5N 2 0voi d f un(c h a r(*ss)N )i nt i,j,k,n M ;c h a r t N ;f or(i=0;i M;i+)n i =strle n(ss i )f or(i=0;i M-l;i+)k=i;f or(j=_ _ _ 1 _ _ _;j n j )k=_ 2;ji f (k!=i)strc py(t,ss i );strc py(ss i ,ss k);strc py(ss k,_ _ _3 _ _ _);tn k=n i ;)m a i n()c h a r s M N =sh a ng h a i ,g ua ng zh ou,b e i j i ng ,ti a nj i ng ,c c h ong qi ng ;i nt i;pri ntf(nTh e ori g i na l stri ng s a re :n);f or(i=0;i M;i+)pri ntf(%s n”,ss i );pri ntf(n);f un(ss);pri ntf(nTh e re sult:n);f or(i=0;i M;i+)pri ntf(%s n,ss i );7 .函 数F U N的功能是:从三个形参a,b,c中找出中间的哪个数,作为函数值返回。例如,当a=3,b=5,c=4 时,中数为 4。in cl u de in t fu n(in t a,in t b,in t c)in t t;t =(a b)?(b c?b:(a c?c:_1_):(a c)?_ 2_:(b c)?c:_3 _);r et u r n t;1.a 2.a 3.bm ain()in t al=3,a2=5,a3=4,r;r =fu n (al,a2,a3);p r in t f(n T he m iddl e n u m ber is :%dn,z,r);)8.给定程序中,函数F U N的功能是:统计出带有头结点的单向链表中接点的个数,存放在形参N所指的存储单元中。t t in cl u de in cl u de defin e N 8t y p edef s t r u ct l is t in t dat a;s t r u ct l is t *n ex t;S L I S T;S L I S T *cr eat l is t(in t *a);v o id o u t l is t(S L I S T *);v o id fu n(S L I S T *h,in t *n)S L I S T *p;*n=1;0p=h-n ex t;w hil e(p)(*n)+;p=2;p-n ex t)m ain()S L I S T *head;in t aN =12,87,4 5,3 2,91,16,20,4 8,n u m;head=cr eat l is t(a);o u t l is t(head);fu n (h e a d,3);&n u mp r in t f(n n u m ber=%dn”,n u m);)S L I S T *cr eat l is t(in t a )S L I S T *h,*p,*q;in t i;h=p=(S L I S T *)m al l o c(s iz eo f(S L I S T);fo r(i=0;i dat a=ai;p-n ex t=q;p=q;)p-n ex t=0;r et u r n h;)v o id o u t l is t(S L I S T *h)S L I S T *p;p=h-n ex t;if(p=N U L L)p r in t f(*T he l is t is N U L L!n);el s e p r in t f(n H ead);do pri ntf p-d a ta);p=p-n ex t;w hil e(p!=N U L L);p r in t f(-E n dn);)9.给定程序的功能是:调用函数F U N 将指定源文件中的内容复制到指定的目标文件中,复制成功时函数返回值为1,失败时返回值为0 o 在复制的过程中,把复制的内容输出到终端屏幕。主函数中源文件名房子变量s fn am e中,目标文件名放在变量t fn am e中。#in cl u de in cl u de in t fu n (char *s o u r ce,char *t ar get)F I L E *fs,*ft;char ch;if(fs=fo p en(s o u r ce,_1_)=N U L L)r r et u r n 0;if(ft=fo p en(t ar get,w)=N U L L)r et u r n 0;p r in t f(,zn T he dat a in fil e:n);ch=fget c(fs);w hil e(!feo f(_ 2_)fs p u t char(ch);fp u t c(ch,_ 3 _);ftch=fgetc(fs);)fclose(fs);fclose(ft);printf(nn);return 1;main()char sfname20=myfilel”,tfname20=myfile2”;FILE*myf;int i;char c;myf=fopen(sfname,w);printf(nThe original data:n);for(i=l;i30;i+)c=A+rand()%25;fprintf(myf,%c,c);printf c);fclose(myf);printf(nn);if(fun(sfname,tfname)printf(S ucceed!);else printf(Fail!);)10.给定程序中,函数F U N的功能是:在形参S所指字符串中的每个数字字符之后插入一个例如,形参S所指字符串为:def35adh3kjsdf7.执行结果为:def3*5*adh3*kjsdf7*#include void fun(char*s)int i,j,n;for(i=0;si !=0,;i+)if(si=0,1 si 9)&n=0;while(si+l+n!=_ _ _ 2_ _ _)n+;0for(j=i+n+l;ji;j-)sj+l=_ _ _ 3_ _ _;sji=i+l;)main()char s80=ba3a54cd23a”;printf(nThe original string is:%sn”,s);fun(s);printf(nThe result is:%sn,s);11.给定程序中,函数FU N的功能是:将形参S TD所指结构体数组中年龄最大者的数据作为函数值返回,并 将main函数输出。include typedef struct char name10;int age;S T D;S T D fu n (S T D s t d 口,in t n)S T D m ax;in t i;m ax二 1;s t dO fo r(i=l;i n;i+)if(m ax.age _2_)m ax=s t dE i;s t di.ager et u r n m ax;m ain()S T D s t d5 =aaa”,17,bbb”,16,ccc”,18,ddd”,17,eee”,15 ;S T D m ax;m ax=fu n(s t d,5);p r in t f(z,n T he r es u l t:n);p r in t f(n N am e:%s,A ge:%dn,_3 _ ,m ax.age);m ax.n am e1 2.给定程序中,函数f u n功能是:在带有头结点的单向链表中,查找数据域中为C H的结点,找到后通过函数值返回该结点在链表中所处的顺序号;若不存在值为CH的结点,函数返回0值。#in cl u de#in cl u de#defin e N 8t y p edef s t r u ct l is t in t dat a;s t r u ct l is t *n ex t;S L I S T;S L I S T *cr eat l is t(char *);v o id o u t l is t(S L I S T *);in t fu n(S L I S T *h,char ch)S L I S T *p;in t n=0;p=h-n ex t;w hil e(p!=_1_)n+;N U L Lif(p-dat a=ch)r et u r n _2_;nel s e p=p-n ex t;)r et u r n 0;)m ain()S L I S T *head;in t k;char ch;char aL N J =t m ,p ,g,a,w ,x ,r ,d);head=cr eat l is t(a);o u t l is t(head);p r in t f(E n t er a l et t er:);s can f(%c”,&ch);k=fu n (_3 _);head,chif(k=0)p r in t f(z/n N o t fo u n d!n/z);el s e p r in t f(T he s eq u en ce n u m ber is :%dn,k);S L I S T *cr eat l is t(char *a)S L I S T *h,*p,*q;in t i;h=p=(S L I S T *)m al l o c(s iz eo f(S L I S T);fo r(i=0;i dat a=ai;p-n ex t=q;p=q;)p-n ex t=0;r et u r n h;)v o id o u t l is t(S L I S T *h)S L I S T *p;p=h-n ex t;if(p=N U L L)p r in t f(n T he l is t is N U L L!n,z);el s e p r in t f(n H ead);do p r in t f(一%c”,p-dat a);p=p-n ex t;w hil e(p!=N U L L);p r in t f(-E n dn);13.给定程序的功能是:从键盘输入若干行文本(每行不超过8 0 个字符),写到文件m y fil e4.t x t 中,用-1 作为字符串输入结素的标志。然后将文件的内容读出显示在屏幕上。文件的读写分别由自定义函数r ead T e x t 和 w r it e T ex t 实现.#in cl u de in cl u de t t in cl u de v o id Wr it eT ex t(F I L E *);v o id R eadT ex t(F I L E *);m ain()F I L E *fp;if(fp=fo p en(,m y fil e4.t x t,w)=N U L L)p r in t f C o p en ex it(0);Wr it eT ex t(fp);fcl o s e(fp);if(fp=fo p en(/zm y fil e4.t x t,r)=N U L L)p r in t f C o p en fail!nz,);ex it (0);R eadT ex t(fp);fcl o s e(fp);:/v o id Wr it eT ex t (F I L E _ 1_ )*fw char s t r 81;p r in t f(,zn E n t er s t r in g w it h-1 t o en d:n);get s (s t r);w hil e(s t r cm p(s t r,!=0)fp u t s(_ 2_,fw);f putsf w);s t rget s (s t r);)v o id R eadT ex t(F I L E *fr)char s t r 81;p r in t f(z,n R ead fil e an d o u t p u t t o s cr een :n);fget s (s t r,81,fr);w hil e(!feo f(fr)p r in t f _ 3 _);s t rfget s(s t r,81,fr);)1 4.给定程序中,函数F U N的功能是:有N X N矩阵,根据给定的m(水 二N)值,将每个元素中的值均右移m个位置,左边置为0o例如,N=3,m=2,有下列矩阵123001456程序执行结果为004789007in cl u de#defin e N 4v o id fu n(in t (*t)N,in t m)in t i,j;fo r(i=0;i=0;j-)t i j+_2_=t i j;mfo r (j=0;j _ 3 _;j+)mt i j=0;)m a i n()in t t N =21,12,13,24,25,16,4 7,3 8,29,11,3 2,5 4,4 2,21,3 3,10),i,j,m;p r in t f(n T he o r igin al ar r ay:n);fo r (i=0;i N;i+)fo r(j=0;j N;j+)p r in t f(z,%2d”,t i j);p r in t f(n);)p r in t f(,zI n p u t m (m =%d):,N);s can f&m);fu n(t,m);p r in t f(n T he r es u l t is:n);fo r(i=0;i N;i+)fo r(j=0;j N;j+)p r in t f(%2d,p r in t f(n);)15.函数F U N 的功能是;把形参a 所指数组中的最大值放杂a0中,接着求出a 所指数组中的最小值防在al 中;再把a所指数组元素中的次大值a2中,把a所指数组的数据最初排列为:1,4,2,3,9,6,5,8,7,则按规则移动后,数据排列为:9,1,8,2,7,3,6,4,5。形 参 n中存放a 所指数组中数据的个数。t t in cl u de defin e N 9v o id fu n(in t _1_,in t n)*a in t i,j,m ax,m in,p x,p n,t;fo r (i=0;i n-l;i+=2)2 m ax =m in =ai;p x =p n =i;fo r (j=_ 3_:j n;j+)i if(m ax aj)m in =aj;p n =j;)if(p x !=i)t =ai;ai=m ax;ap x =t;if(p n =i)p n=p x;)if(p n !=i+1)t =ai+l;ai+l =m in;ap n =t;)m ain()in t bN =l,4,2,3,9,6,5,8,7 ,i;p r in t f(n T he o r igin al dat a:n);fo r (i=0;i N;i+)p r in t f(%4 d,bi);p r in t f(n);fu n(b,N);p r in t f(n T he dat a aft er m o v in g:n);fo r (i=0;i N;i+)p r in t f(%4 d,bi);p r in t f(n);)16 .给定程序中,函数F U N的功能是;求S S所指字符串数组中长度最厂的字符串所在的行下标,作为函数值返回,并把其串长防在形参n所指变量中。S S所指字符串数组中共有M个字符串,且串长 N.t t in cl u de defin e M 5t t defin e N 20in t fu n(char (*s s)_1_,in t *n)N in t i,k=0,l en=0;fo r(i=0;i*n)*n=3;l enk=i;)r et u r n(k);)m ain()char s s M N=s han ghai,gu an gz ho u,beijin g,t ian jin g,ccho n gq in g;in t n,k,i;p r in t f(n T he o r igin al s t r in gs ar e:n);fo r(i=0;i M;i+)p u t s(s s i);k=fu n(s s,&n);p r in t f(z?n T he l en gt h o f l o n ges t s t r in g is :%dn”,n);p r in t f(z,n T he l o n ges t s t r in g is :%s n,s s k);)17 .函 数FUN的功能是:逆置数组元素中的值。例如:若a所指数组中的数据依次为:1,2,3,4,5,6,7,8,9,则逆置后依次为:9,8,7。6,5,4,3,2,1。形 参n给出数组中数据的个数。in cl u de v o id fu n(in t a,in t n)in t i,t;fo r (i=0;i _1_;i+)n/2(t=ai;ai=_2_ an-l-i;an-l-i=3 ;t)m ain()in t b9=l,2,3,4,5,6,7,8,9,i;p r in t f(n T he o r igin al dat a:n);fo r (i=0;i 9;i+)p r in t f(%4 d,bi);p r in t f(n);fu n (b,9);p r in t f(n T he dat a aft er in v er t :、n);fo r (i=0;i 9;i+)p r in t f(*%4 d”,bi);p r in t f(n);)18.给定程序中,函数F U N 的功能是:在形参S所指字符串中寻找与参数C 相同的字符,并在其后插入一个与之相同的字符,若找不到相同的字符则函数不做任何处理。例如,S 所指字符串:baacd a,c中的字符为:a,执行后S 所指字符串为:baaaacd aai n cl u d e v o i d f u n (ch ar *s,ch ar c)i n t i,j,n;/*f o u n d*/f o r(i=0;si!=1;i+)0i f (si=c)(/*f o u n d*/n 二 2;0w h i l e(si+l+n !=0)n+;f o r(j=i+n+l;j i;j)sj+l=sj;/*f o u n d*/sj+l=s_3_ ;ii=i+l;)m ai n O ch ar s80=baacd a”,c;p r i n tf(n Th e str i n g:%sn”,s);p r i n tf (/zn l n p u t a ch ar acte r:);scan f&c);f u n(s,c);p r i n tf(*n Th e r e su l t i s:%sn”,s);)19.函数FUN的功能是:把形参a所指数组总的奇数原顺序依次存放到a0Lal,a2L中,把偶数从数组中删除,奇数个数通过函数值返回。例如:若a 所指数组中的数据最初排列为:9、1、4、2、3、6、5、8、7,删除偶数后,a 所指数组中数据为:9、1、3、5、7,返回值为5o#i n cl u d e#d e f i n e N 9int fun(int a口,int n)int i,j;j=0;for(i=0;in;i+)if(ai%2=1)1(aj =ai;_ _ _ 2_ _ _;j+)return _ _ _ 3_ _ _;j)main()int bN =9,1,4,2,3,6,5,8,7,i,n;printf(/znThe 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 number:n);for(i=0;in;i+)printf(%4d,bi);printf(n);)20.给定程序的功能是:调用函数FU N将指定源文件中的内容复制到指定的目标文件中,复制成功时函数返回值为0。在复制的过程中,把复制的内容输出到终端屏幕。主函数中源文件名防在变量sfname中,目标文件名放在变量tfname中。S include include int fun(char*source,char*target)FILE*fs,*ft;char ch;if(fs=fopen(source,_ _ _ 1_ _ _)=NU LL)rreturn 0;if(ft=fopen(target,w)=NU LL)return 0;printf(nThe data in file:n);ch=fgetc(fs);while(!feof(_ _ _ 2_ _ _)fs putchar(ch);fputc(ch,_ _ _ 3_ _ _);ftch=fgetc(fs);)fclose(fs);fclose(ft);p r i n tf(n n);r e tu r n 1;)m a i n()ch ar sf n am e 2 0 =m y f i l e l”,tf n am e 20=n i y f i l e 2;FILE*m y f;i n t i;ch ar c;m y f二f o p e n(sf n am e,w );p r i n tf(n Th e o r i g i n al d ata:n );f o r (i=l;i 30;i+)c=A+r an d()%25;f p r i n tf (m y f,%c”,c);p r i n tf c);f cl o se(m y f);p r i n tf(n n );i f (f u n(sf n am e,tf n am e)p r i n tf(Su cce e d!);e l se p r i n tf(Fai l!);)2 1.函数F U N的功能是:计算八 k)=l+x+.+2!-21-直到巳若x=2.5,函数值为:12.182494.ni n cl u d e tti n cl u d e d o u bl e f u n(d o u bl e x)d o u bl e f,t;i n t n;f =1.0+1;Xt=X;n =1;d o n+;t*=x/_ 2_;nf +=_ 1_;t w h i l e (f abs(t)=l e-6);r e tu r n f;m a i n()d o u bl e x,y;x=2.5;y =f u n (x);p r i n tf (/zn Th e r e su l t i s:n );p r i n tf (z/x=%-12.6f y=%-12.6f n”,x,y);)2 2.给定程序中,函数F U N的功能是:统计形参S所指字符串中数字字符出现的次数,并存放在 形 参t所 指 的 变 量 中 最 后 在 函 数 中 输 出。例 如,形 参 所 指 的 字符串为:abcd e f 35ad g h 3k j sd f 7.输出结果为:4i n cl u d e v o i d f u n(ch ar *s,i n t*t)i n t i,n;n=0;f o r(i=0;1 !=NULL;i+)si i f (si=*0*&si=_2_)n+;9*t=_3_;n)m ai n()ch ar s80=abcd e f 35ad g h 3k j sd f 7”;i n t t;p r i n tf(n Th e o r i g i n al str i n g i s:%sn,s);f u n(s,&t);p r i n tf(n Th e r e su l t i s:%d n,t);)23.用筛选法可得到2n(n 10000)之间的所有素数,方法是:首先从素数2 开始,将所有2 的倍数的数从数表中删去(把数表中相应位置的值置成0)接着从数表中找下一个非0 数,并从数表中找下一个非0 数,并从数表中删去该书的所有倍数:依次类推,直到所找的下一个数等于n 为止。这样会得到一个序列3,5,7,11,13,17,19,23,函数FUN用筛选法找出所有小于等于n的素数,并统计素数的个数作为函数值返回。tti n cl u d e i n t f u n(i n t n)i n t a10000,i,j,co u n t=0;f o r (i=2;i=n;i+)ai =i;i =2;w h i l e (i n)/f o r (j=ai*2;j=n;j+=_1_)ai aj =0;i+;/w h i l e (ai=_1_)0i+;)p r i n tf (z/n Th e p r i m e n u m be r be tw e e n 2 to%d n,n);f o r (i=2;i=n;i+)/i f (ai!=3)0 co u n t+;p r i n tf(co u n t%15?%5d :n%5d”,ai);r e tu r n co u n t;)m ai n O i n t n=20,r;r =f u n(n);p r i n tf(n Th e n u m be r o f p r i m e i s:%d n”,r);2 4给定程序中,函数FUN的功能是:将N X N 矩阵主对角线元素中的值与反向对角线对应位置上元素中的值进行交换。例如,若 N=3,有下列矩阵:1 2 3 3 24 5 6 交换后为:47 8 9 9 81675tti n cl u d e ttd e f i n e N 4v o i d f u n(i n t _1_,i n t n)t N N i n t i,s;f o r(2;i+)i=0;i N s=ti i;ti ;ti n-l-i=_3_;s)m ai n()i n t t N=21,12,13,24,25,16,47,38,29,11,32,54,42,21,33,10,i,j;p r i n tf(n Th e o r i g i n al ar r ay:n );f o r(i=0;i N;i+)f o r(j=0;j N;j+)p r i n tf(*%d *,ti j);p r i n tf(n );)f u n(t,N);p r i n tf(n Th e r e su l t i s:n );f o r(i=0;i N;i+)f o r(j=0;j N;j+)p r i n tf(*%d *,ti j);p r i n tf(n );)25.给定程序中,函数FUN的功能是:在形参S 所指字符串中寻找