《二级C语言题库下载.pdf》由会员分享,可在线阅读,更多相关《二级C语言题库下载.pdf(145页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第1套题一、程序填空题欺霸变脑舞,使程序得出正确的结一件浅盘刘E T醐人da确海的5.正fur级le入建fi填调。箱是码为线他西!p名划功话书的电写的序和块序程名置定姓数在给、个请号一1的顺序乩程的改下更S文也生,考行在删放或序增s源不编为果通罐。崛霸意注#include#include#define N 5typedef struct int num;char name10;char tel10;STYPE;void check();/*found*7int fun(_ 1_ *std)/*f u n d*72_*fp;int i;if(fp=fopen(,myfile5.dat/wb)=N
2、ULL)return(O);printf(nOutput data to file!n);for(i=0;iN;i+)/*f u n d*/fwrite(&stdi,sizeof(STYPE),1,_3_);fclose(fp);return(1);)main()STYPE s10=l,aaaaa,llllll,l,bbbbb;,222222/l,ccccc;333333/l;,ddddd;,444444,l/eeeee,555555;int k;k=fun(s);if(k=l)printf(,Succeed!);check();else)printf(Fail!);void check()F
3、ILE*fp;int i;STYPE s10;if(fp=fopen(myfile5.dat,;,rb)=NULL)printf(Fail!n);exit(O);printf(”nRead file and output to screen:n);printf(n num name teln);for(i=0;iN;i+)fread(&si,sizeof(STYPE),l,fp);printf(%6d%s%sn,si.numzsi.name,si.tel);fclose(fp);二、程序改错题t到的序AB能不fun逆,:它,初警甯磁1目勺松田示IsA口DmlrrnMo司需序要尊当则程不釐:正:
4、定韬改意给鬻请注功连CDAB1能接心CD出增是律EE正行冒,DC确或果,结好S中的字符按正序存放符串/include#include void fun(char*s,char*t)int i,si;si=strlen(s);/*Qjpj*/for(i=0;i=sl;i+)ti=si;for(i=0;isl;i+)tsl+i=ssl-i-l;/*f u n d*/tsl=0;)main()chars100,t100;printf(nPlease enter string s:);scanf(%s,s);fun(s,t);printf(The result is:%sn,t);)三、程序编写题数鳍
5、改填修中膏方不括据花数的的?un此在糙仅41文乳球扎任的依。函.C帼数数上该G1娜位位位用RO够童冲好调B将十百12祜林5,募句在=4源函语何.放a=分主干附是次当野若fur式依;改的数方数如意勿写函的位翟请编并个你合和入向向=1ma。#include void fun(int a,int b,long*c)main()int a,b;long c;void NONO();printf(lnput a b:);scanf(%d%d,&a,&b);fun(a,b,&c);printf(The result is:%dn,c);NONO();void NONO()/*本函数用于打开文件,输入数据,
6、调用函数,输出数据,关闭文件。*/FILE*rf,*wf;int,a,b;long c;rf=fopen(”K:k0124010001in.dat,”r);wf=fopen(,K:k0124010001out.dat;,w);for(i=0;i 10;i+)fscanf(rf,%d,%d/&a,&b);fun(a,b,&c);fprintf(wf,”a=%d,b=%d,c=%ldn”,a,b,c);)fclose(rf);fclose(wf);)第2套题一、程序填空题给定程序的功能是:从键盘输入若干行文本(每任不超过80个字假),写到文 件 喈il etxt粗 用-1(独立一行)隹为宇符也输入
7、结束的标志。然后将文件命内容读出显示在屏票上。文件的读写分别由自定义函数1a 坊口和出616*1实现。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源矍序存放在考生文件理下的BL AN K l.C中。不容增籽或删行,也不得更改程序的结构!#include#include#includevoid WriteText(FILE*);void ReadText(FILE*);main()FILE*fp;if(fp=fopen(myfile4.txtzw)=NULL)printf(open fail!n);exit(O);WriteText(fp);fclose(fp);
8、if(fp=fopen(Hmyfile4.txt,7r)=NULL)printf(open fail!n);exit(O);ReadText(fp);fclose(fp);/*found*/void WriteText(FILE char str81;1)printf(nEnter string with-1 to end:nM);gets(str);while(strcmp(str/-l)!=O)/*found*/fputs(_2_,fw);fputs(n,fw);gets(str);)void ReadText(FILE*fr)char str81;printf(nRead file an
9、d output to screen:n);fgets(str,81zfr);while(!feof(fr)/*found*/printf(”%s“,3 _);fgets(str,81,fr);)二、程序改错题给定程序M ODIL C中函数fun的功能是:从低位开始取上的数,裱茨:.构.成.一.个 新 数放 在 t 中,。高位仍在高位,低位,量s中奇数位例如,当s中的数为:7654321时,t 中的数为:7531。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不警增行或删行,也不得更改程序的结构!#include/*f u n d*/void fun(long s,lo
10、ng t)long sl=10;*t=s%10;while(s 0)s=s/100;*t=s%10*si+*t;/*found*/sl=sl*100;)main()long s,t;printf(nPlease enter s:);scanf(%ld,&s);fun(s,&t);printf(The result is:%ldn,t);)三、程序编写题学生的记录由学号和成绩组成,N名学生的数据已在主函数中以入结构体数组电.遹 编 瞽 数 f u n,它的功能是:把分数最低的学生数强放在b断指的数组中,注恚 务数金低的看生可熊不止一个,函数返回分数最低周学生的人数。注意:郃分源程序在女性PR0G
11、1.C文件中。请勿改翱主函薮mai向 箕它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include#define N 16typedef struct char num10;int s;STREC;int fun(STREC*a,STREC*b)main()STREC sN=GA05,85,GA03,76zGA02,69,GA04,85,GA01,z91/,GA07/72/,GA08/64,GA06,1/87z,GA015,785,GA013z91,GA012,64/GA014,91/GA011,91,GA017,64/GA018,64/GA016772;STREC h
12、N;int i,n;FILE*out;n=fun(s,h);printf(The%d lowest score:nzn);for(i=0;in;i+)printf(%s%4dn,hi.num,hi.s);printf(un);out=fopenCKAXkOlWAOlOOOlWout.datVw);fprintf(out,%dn,n);for(i=0;in;i+)fprintf(out,%4dn,hi.s);fclose(out);)第3套题一、程序填空题给定程序史,函数fun的 也 是:将自然数1 1 0以及它们的平方根写到名为叩f嘴 至 麓 整 尧 醯 器 辗 雷 假 了 使 程 序 得 出
13、 正 确 的 结果。注意:源矍序存放在考生文件旁下的BLANKl.C中。不替增忏或删行,也不编更改程序的结构!#include#include int fun(char*fname)FILE*fp;int i,n;float x;if(fp=fopen(fname,w)=NULL)return 0;for(i=l;i=10;i+)/*f u n d*/fprintf(_1_ J%d%fn,i/sqrt(double)i);printf(nSucceed!n);/*found*!2;printf(nThe data in file:n);/*found*/if(fp=fopen(3 Jr)二二
14、NULL)return 0;fscanf(fp/%d%f,&n,&x);while(!feof(fp)printf(%d%fn,n,x);fscanf(fp;%d%f/&n/&x);fclose(fp);return 1;)main()char fname=myfile3.txt;fun(fname);二、程序改错题给定程序M ODH.C中fun函数的功能是:翔n个无序整数从小到大排序。请改正建序中的错误,使它能密出正确的结果。注意:不要改动main函数,不容增行或删行,也不得更改程序的结构!#include/include void fun(int n,int*a)int i,j,p,t;f
15、or(j=0;j n-l;j+)P=j;/*found*/for(i=j+l;iai)/*f u n d*!t=i;if(p!=j)t=aj;aj=ap;ap=t;)void putarr(int n,int*z)int i;for(i=1;i=n;i+,z+)printf(%4d,*z);if(!(i%10)printf(n);printf(n);)main()int aa20=9,3,0,4,1,2,5,6,8,10,7,n=ll;printf(nnBefore sorting%d numbers:n,n);putarr(n,aa);fun(n,aa);printff nAfter sor
16、ting%d numbers:n,n);putarr(n,aa);)合和翡在45源函句蝮:放分主语扇是次当野干fur式依,:改若数方数如意勿的函的位翟请写位位位猾R O缄濯矍彳禾禾:&此在北牝仅,数何数。入改填修中膏方不括据花数的的?un扁你将十十册益丽:占#一Z/旧后3任#include void fun(int a,int b,long*c)main()int a,b;long c;void NONO();printf(lnput a b:);scanf(%d%d,&a,&b);fun(a,b,&c);printf(The result is:%ldn,c);NONO();)void NO
17、NO()/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/FILE*rf,*wf:int i,a,b;long c;rf=fopen(”K:k0124010001in.dat”,T);wf=fopenCKiWkOlWAOlOOOlWout.datVw);for(i=0;i 10;i+)fscanf(rf,%d,%d,&a,&b);fun(a,b,&c);fprintf(wf,a=%d/b=%d,c=%ldn,a,b,c);)fclose(rf);fclose(wf);第4套题-、程序填空题给定程序的功能是:工文瞿果es变。,复制成功时函数返回_ _ _ _ _ _ _容 镰
18、出 森 姗 屏 幕。主函数申源文件茗放在变量sfname里请 在tfn程am序e 南中下。划线处填入正确的内容并把下划线删除,使程序得出正确的结注意:源程序存放在考生文件房下的BLANK1.C中。不容增存或删行,也不得更改程序的结构!#include include int fun(char*source,char*target)FILE*fs/ft;char ch;/*f u n d*/if(fs=fopen(source,_1_)=NULL)return 0;if(ft=fo pen(target,wH)=NULL)return 0;printf(nThe data in file:n);
19、ch=fgetc(fs);/*found*Iwhile(!feof(_2_)putchar(ch);/*found*/fputc(ch,_3一);ch=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(HnThe original data:n);for(i=l;i30;i+)c=,A+rand()%25;fprintf(myf/%c/c);print
20、f(%c,c);fclose(myf);printf(nnH);if(fun(sfname,tfname)printf(Succeed!);else printf(Fail!);二、程序改错题次取出,飨 定 徽 吧 珠 疆 翳 墙 鬻 灌 蠡 鬻 蠹 惑 上 为 偶 数 的 数 依一个新数放在t 中。高位,例如,当S中的数为:87653142时,激 为:8642。请改正程序中的错误,使它能黄出_ _ _ _ _ _I_结_ _果_。注意:不要改动main函数,不博增行或删行,也不得更改程序的结构!#include void fun(long s,long*t)int d;long sl=l;*
21、t=0;while(s 0)d=s%10;/*f0 u n d*/if(d%2=0)*t=d*sl+*t;si*=10;)/*found*Is=10;)main()long s,t;printf(nPlease enter s:);scanf(n%ld,&s);fun(s,&t);printf(The result is:%ldn/1);1为数也的f t指.II听cAs t在指串码为偶。sc下也24心的标字数中拓星组雕其但数加:在他4数所神23为物碱G1值?5EF同为用CD着回MSC鲁,的CII最C匕哦基底文其的.,而它在刷斛除.,其存E领删除,序g静当删。用应当删源函句期此应当分主语若因也应
22、野干,此不:改若如数因此意勿的请写。为数,编数中值氧灯Bs-i臀心推演数2ps。L中#include#include void fun(char*s,char t)main()(char s100,t100;void NONO();printf(nPlease enter string S:);scanf(”s”,s);fun(s,t);printf(nThe result is:%sn,t);NONO();)void NONO()/*本函数用于打开文件,输入数据调用函数,输出数据,关闭文件。*/char s100,t100;FILE*rf,*wf;int i;rf=fopen(”K:k012
23、4010001in.dat”Jr“);wf=fopenCKAXkOlWAOlOOOlWout.daf/w);for(i=0;i 10;i+)fscanf(rf,%s,s);fun(s,t);fprintf(wf,%sn,t);)fclose(rf);fclose(wf);)第5套题一、程序填空题域入果中到。给的链请注定数表在意n序E已建立一个点.头结点的单向链表,链表中的各结点按结点数黑 翳 畿 翻 盘 褥 莓 蠲 靠 的 值 放 入 一 个 新 结 点 并 插下划线处填入正确的内容并把下期删除,使程序得出正确的结源矍序存放在考生文件旁下的BLANKl.C中。不导增杆或删行,也不得更改程序的结
24、构!#include/include#d efinetypedefN 8struct list int data;struct list SLIST;void fun(SLIST*next;*h,int x)SLIST*p,*qz*s;s=(SLIST*)malloc(sizeof(SLIST);/*f u n d*/s-data=_1_;q=h;p=h-next;while(p!=NULL&xp-data)/*found*/q=一 2;p=p-next;s-next=p;/*found*/q-next=_3_;)SLIST*creatlist(int*a)SLIST*h,*p,*q;int
25、i;h=p=(SLIST*)malloc(sizeof(SLIST);for(i=0;idata=ai;p-next=q;p=q;)p-next=O;return h;)void outlist(SLIST*h)SLIST*p;p=h-next;if(p=NULL)printf(nThe list is NULL!nH);else printf(nHead);do printf(-%d,p-data);p=p-next;while(p!=NULL);printf(-Endn);)main()SLIST*head;int x;int aN=ll,12z15,18,19,22,25,29;head
26、=creatlist(a);printf(nThe list before inserting:n);outlist(head);printf(nEnter a number:);scanf(%d,&x);fun(headzx);printf(nThe list after inserting:nH);outlist(head);)二、程序改错题给定程序M 0DI 1.C中函数fun 的功能是:V正整数n um 的各位上的数字之积。例如,若输入:25 2,则随出应该是:20,若输入:202,则输出应该是:0。请改正程序中的错鼠 使它能黄出正确的2吉果。注意:不要改动m ain 函数,不容增行或
27、删行,也不得更改程序的结构!#include long fun(long num)*/long k;do k*=num%10;/*!:QJp|*/num=10;while(num);return(k);)main()long n;printf(nPlease enter a number:);scanf(%ld,&n);printf(n%ldnfun(n);)三、程序编写题请编写一个函数f u n,它的功能是:计算n门课程的平均分,计算结果作为函数值遛回。例如:若直5门牌胜的成绩是:90.5,72,80,61.5,55则曷致的隹为:71.80。注意:部分源逑序存在文件PR0G1.C中。请勿改凝
28、主函薮maiM 口其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。/include float fun(float*a,int n)main()float score30=90.5z 72,80,61.5,55,aver;void NONO();aver=fun(score,5);printf(nAverage score is:%5.2fn,aver);NONO();void NONO()/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/FILE*fp,*wf;int ij;float aver;score5;fp=fopen(K:k0124010001
29、in.dat/r);wf=fopen(,K:k0124010001out.dat,wn);for(i=0;i 10;i+)for(j=0;j 5;j+)fscanf(fpz%f/z&scorej);aver=fun(score,5);fprintf(wf,%5.2fn,aver);)fclose(fp);fclose(wf);)第6套题一、程序填空题给定程序中己建立一个带有大结点的单向链表,在main函数中将多次现用fun函数,每型用一次fun函数,输出他表尾部结点中的数据,并释放该结及 横链表缩短。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果注意:源程序存放在考生文件
30、西下的BLANK1.C中。不替增存或删行,也不容更改程序的结构!#include include#define N 8typedef struct list int data;struct list*next;SLIST;void fun(SLIST*p)SLIST*t,*s;t=p-next;s=p;while(t-next!=NULL)S=t;*!gu n c|*t=t-_1./*found*/printf(%d _2);s-next=NULL;/*found*/free(_ 3 _);)SLIST*creatlist(int*a)SLIST*h,*pz*q;int i;h=p=(SLIS
31、T*)malloc(sizeof(SLIST);for(i=0;idata=ai;p-next=q;p=q;)p-next=0;return h;)void outlist(SLIST*h)SLIST*p;p=h-next;if(p=NULL)printf(nThe list is NULL!n);else printf(nHead);do printf(-%d,p-data);p=p-next;while(p!=NULL);printf(-Endn);main()SLIST*head;int aN=ll,12,15,18,19,22,25,29;head=creatlist(a);print
32、f(nOutput from head:n);outlist(head);printf(nOutput from tail:n);while(head-next!=NULL)fun(head);printf(nn);printf(nOutput from head again:nn);outlist(head);)二、程序改错题给定程序M 0DI1.C中函数fun的功能是:将字符串中的字符按逆序输出,但不改变字符串中的内容W O,若字符串为ab ed,则应输出:debao请改正程序中的错误,二:-注意:不要我动main函数,不得更改程序的结构!#include/*found*/fun(char
33、 a)if(*a)fun(a+l);/*found*/printf(%c*a);)main()char s10=abcd;printf(处理前字符串=%sn处理后字符串=,s);fun(s);printf(n);)数度串ijan募。函长符besh源函句个里又回主语一学干写字一,将:改若编求第如数意勿的请的回例函注请写供返编提则你n gh a功函.回是返项数P R函件它文其L-B-符串字符U子两的I串。1 1V。在 1独车#include char*fun(char*s,char*t)main()char a20,b20;void NONO();printf(lnput 1th string:)
34、;gets(a);printf(lnput 2th string:);gets(b);printf(%sn,fun(a,b);NONO();)void NONO()/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/FILE*fp,*wf;inti;char a20,b20;fp=fopen(K:k0124010001in.dat,r);wf=fopen(K:k0124010001out.dat,w);for(i=0;i 10;i+)fscanf(fp,%s%s,a,b);fprintf(wf,%sn,fun(a,b);)fclose(fp);fclose(wf);第7套题一、
35、程序填空题给定程序中已建立一个带有头结点的单向链表,链表中的各结点按数逑域递樊有序链接。函数fun 的功能是:删除链表中数据域值相同的结点,使之只操留一1”请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果注意:源程序存放在考生文件考下的BL AN K 1.C中。不容增若或删行,也不容更改程序的结构!#include#include#define N 8typedef struct list int data;struct list*next;SLIST;void fun(SLIST*h)SLIST*pz*q;p=h-next;if(p!=NULL)q=p-next;whil
36、e(q!=NULL)if(p-data=q-data)p-next=q-next;y*Qjjp j*/free(-1 _);/*f u n d*/q=p-一2一;)elsep=q;/*found*/q=q-一3一;)SLIST*creatlist(int*a)SLIST*h,*pz*q;inth=p=(SLIST*)malloc(sizeof(SLIST);for(i=0;idata=ai;p-next=q;p=q;)p-next=0;return h;void outlist(SLIST*h)SLIST*p;p=h-next;if(p=NULL)printf(nThe list is NUL
37、L!nn);else printfCXnHead);do printf(-%d,p-data);p=p-next;while(p!=NULL);printf(H-Endn);)main()SLIST*head;int aN=l,2/2z3A 4A 5;head=creatlist(a);printf(nThe list before deleting:nH);outlist(head);fun(head);printf(HnThe list after deleting:n);outlist(head);)二、程序改错题给定程序M 0DI1.C中函数fun的功能是:用选择法对数组中的n个元素按
38、从小到大 的 顺序幽避序。请祢改桂浮市的错误,使它能彳导出正确的结果。注意:不要改动main函数,不荐增行和删行,也不得更改程序的结构!#include#define N 20void fun(int a,int n)int i,t,p;for(j=0;j n-1;j+)/*found*/P=jfor(i=j+l;i n;i+)if(aiap)/*found*/p=j;t=ap;ap=aj;aj=t;)main()int aN=9,6,8,3,-l/b m=5;printf(排序前的数据:);for(i=0;i m;i+)printf(%d nzai);printf(n);fun(a,m);p
39、rintf(排序后的数据:);for(i=0;i m;i+)printf(%d,ai);printf(n);三、程序编写题整数魏蠡第鬻统嘉禊哪寐嗜黑舞皤器除用髀11 14 21 22 28 33 35 42 44 49注意:部分源程序存在文件PR0G1.C中。请 勿 改 主 函 薮 m air其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include/define M 100void fun(int m,int*a,int*n)main()int aaMz n,k;void NONO();fun(50,aa,&n);for(k=0;k n;k+)if(k+l)%20=
40、0)printf(n);else printf(%4d,aak);printf(n);NONO();void NONO()/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/FILE*fpz*wf;int iz n,j,k,aaMz sum;fp=fopenCKAXkOlWAOlOOOlWin.daf/r);wf=fopenCKiWkOlWAOlOOOlWout.datVw);for(i=0;i 10;i+)fscanf(fp,dj,&j);fun(j,aa,&n);sum=0;for(k=0;k n;k+)sum+=aak;fprintf(wf,%dn”,sum);)fclo
41、se(fp);fclose(wf);)第8套题一、程序填空题给定程序中,函数fun的功熊是:在建直去缜立的塞典舞差中,喜找蓼隼攀史为ch的2吉瓦找到后通过函我值返回或舄点在链表田所处的顺序号;若不存在为ch的结点,函数返回他。请在程序的下划线处豉入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件隽下的BL AN K 1.C中o不容增杆或删行,也不畲更改程序的结构!#include#include#define N 8typedef struct list int data;struct list*next;SLIST;SLIST*creatlist(char*);vo
42、id outlist(SLIST*);int fun(SLIST*h,char ch)SLIST*p;int n=0;p=h-next;/*found*Iwhile(p!=_1_)n+;/*found*/if(p-data=ch)return_2_;else p=p-next;)return 0;)main()SLIST*head;int k;char ch;char atNJm/p/g/a/w/x/r/d);head=creatlist(a);outlist(head);printf(Enter a letter:);scanf(%c,&ch);/*foun(j*/k=fun(-3-);if
43、(k=0)printf(nNot found!n);else printf(HThe sequence number is:%dn,k);)SLIST*creatlist(char*a)SLIST*hz*p,*q;int i;h=p=(SLIST*)malloc(sizeof(SLIST);for(i=0;idata=ai;p-next=q;p=q;)p-next=O;return h;)void outlist(SLIST*h)SLIST*p;p=h-next;if(p=NULL)printf(nThe list is NULL!n);else printf(nHead);do printf
44、(-%c,p-data);p=p-next;while(p!=NULL);printf(-Endnu);)二、程序改错题给定程序M 0DI1.C中函数fun的功能是:删除p所指字符串中的所有空白字符(包括 制 嬲 格 绪 w 序 篦 嚣 随 输 出 正 确 的 结 悬注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#include#include include fun(char*p)int i,t;char c80;/*f0 u n d*/For(i=0,t=0;pi;i+)if(!isspace(*(p+i)ct+=pi;/*found*/ct=O;strcpy(p,c)
45、;)main()char c,s80;int i=0;printf(lnput a string:);c=getchar();while(c!=#)si=c;i+;c=getchar();si=O;fun(s);puts(s);三、程序编写题请编写一个函数f u n,它的功能是:将ss近指字符串中所有下标为奇数位置上的字母唐换为大写(若该位置上不是字母,则聚得换)。例如,若输入“abc4EFg”,则应输出“aBc4EFg”。注意:郁务源程序存在文件PR0G1.C中。请勿改凝主函薮mai际 其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include#include vo
46、id fun(char*ss)main()char tt81;void NONO();printf(nnPlease enter an string within 80 characters:n);gets(tt);printf(nnAfter changing,the stringn tt);fun(tt);printf(nbecomesn%sn,tt);NONO();void NONO()/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/FILE*fp,*wf;char tt81;int i;fp=fopenCKAXkOlWAOlOOOlWin.daf/r);wf=fop
47、enCKAXkOlWAOlOOOlWout.datVw);for(i=0;i 10;i+)fscanf(fp,%s,tt);fun(tt);fprintf(wf,%sn”,tt);)fclose(fp);fclose(wf);)第9套题一、程序填空题给定程序中自函数fun 的功能是:统计出带有头结点的单向链表中结点的个数,存放在形参n 耐指的存储单元中。请在程序芮下划线处填入正确的内容并把下划线删除,使程序得出正确的结果注意:源程序存放在考生文件旁下的BL AN K 1.C中。不容增打或删行,也不得更改程序的结构!#include#include/defineN8typedefstruct l
48、ist int data;struct list*next;SLIST;SLIST*creatlist(int*a);void outlist(SLIST*);void fun(SLIST*h,int*n)SLIST*p;/*f u n d*/_1_=0;p=h-next;while(p)(*n)+;/*found*7P=P-_2_;)main()SLIST*head;int aN=12,87,45,32,91,16,20,48,num;head=creatlist(a);outlist(head);/*QUp J*/fun(_3_,&num);printf(nnumber=%dn,num);
49、SLIST*creatlist(int a)SLIST*h,*p,*q;int i;h=p=(SLIST*)malloc(sizeof(SLIST);for(i=0;idata=ai;p-next=q;p=q;)p-next=O;return h;void outlist(SLIST*h)SLIST*p;p=h-next;if(p=NULL)printf(The list is NULL!nH);else printf(nHead);do printf(-%d,p-data);p=p-next;while(p!=NULL);printf(-EndnH);)二、程序改错题给定蜃序M ODIL C
50、中函数fun的功能是:平出s所指字符串中最后一次出现的t近指子字樗电的地址,通过函数值返回,在主函数中输出从此地址开始的字符串;者未找到,则函数值为NULL。例如,当字俗串中的内容为:abcdabfabcdx”,t中的内容为:ab时,输出结果应是的内容为:abcdabfabcdx”,t中的内容为:abd”时,则程序疑出去找_ _ _ _ _ _ _:_ _n_o_t_ _b_e_ _f_o_u_n_dIo清设正建序中的错误,使它能誉出正确的结果。注意:不要改动main函数,不警增行或删行,也不得更改程序的结构!#include#include char*fun(char*s,char*t)ch