二级c语言上机考试一百题及答案.pdf
《二级c语言上机考试一百题及答案.pdf》由会员分享,可在线阅读,更多相关《二级c语言上机考试一百题及答案.pdf(206页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、全国计算机考试二级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
2、*);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
3、)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)
4、;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 ns
5、s 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
6、 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
7、 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
8、 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 n
9、c 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 r
10、e 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
11、;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 转
12、换成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
13、(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
14、 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 o
15、r(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.
16、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
17、(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);)
18、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 e
19、ad);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;i
20、f(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”,tfnam
21、e20=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.执行结果
22、为: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 T
23、D所指结构体数组中年龄最大者的数据作为函数值返回,并 将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 a
24、x=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;
25、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 ,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二级 语言 上机 考试 一百 答案
限制150内