《二级C语言题库1.pdf》由会员分享,可在线阅读,更多相关《二级C语言题库1.pdf(131页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、#incl第1套题一、程序填空题为霹费脑舞使程序得出正确的结1,1信tff下需.-w一舞温醴人da确盛的及正fur级le入谟班五埴fi填调。是码为线修!p名划功话平的电写的序和块序程名,IK1的BL程的改下更i文也生,考行在删放或序增S定姓数在给、个请号一意注编为果ude#include#d efine N 5typedef struct int num;char name10;char tel10;JSTYPE;void check();/*found*/int fun(_1_*std)/*found*/2*fp;int i;if(fp=fopen(myfile5.dat,,wb)=NULL
2、)return(O);printf(nOutput data to file!n);for(i=0;iN;i+)/*found*/fwrite(&stdi,sizeof(STYPE),1,_ 3_)fclose(fp);return(1);)main()STYPE s10=l7,aaaaa,/llllll/l;,bbbbb,222222,/lzccccc,/,333333,l,ddddd,;,444444,l;,eeeee;555555;int k;k=fun(s);if(k=l)printf(Succeed!);check();elseprintf(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.num/si.name,si.tel);)fclose(fp);构#incl改更得一不氤%匕结好B的删t,DC确或是律EE正行能接丁CD出增功连CDAB膏的序AB能不fun逆融它,斑鳖
4、甯缄晶lnai.C噌X子专mI.的动D01PI1T中改。才需序要当则髯B到ude#include void fun(char*s,char*t)int i,si;si=strlen(s);/*f u n d*/for(i=0;i=sl;i+)ti =si;for(i=0;isl;i+)tsl+i =ssl-i-l;/*found*/tsl =0;)main()chars100,t100;printf(nPlease enter string s:);scanf(%s,s);fun(s,t);printf(The result is:%sn,t);)三、程序编写题函数fun的功熊是:将两个两位数
5、的正整数a、b奇合并的方式是:堪徽的十位和个位数依次放在c数的争和个位数依次放在c数的百位和个位上。例如,当a=45,b=12时,调用该函数后,c=4152。罂钻数褊将郃分源程序存在文件PR0G1.C中。数超文件IN.DAT中的数据不得修改。请勿改协)主函薮mai痛 其它函数中的任何福,仅在函数fun的花括号中填入你编写的若干语句。#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 res
6、ult is:%dn?c);NONO();)void NONO()/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/FILE*rf,*wf;int i,a,b;long c;rf=fopen(K:k0124010001in.datz r);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);)第2套题-、程序填空题给定程序的功能是:从键盘输人若
7、干行文本(每任不超过80个字假),写到文件叫(独立一行)隹为字符由输入结束的标志。然后将文件南内容读出显示在屏幕上。文件的读写分别由自定义函数Re a d Te x t和W r i te Te x t实现。果。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结注意:源程序存放在考生文件隽下的BLANK1.C 中。不容增存或删行,也不律更改程序的结构!#include#include#include void WriteText(FILE*);void ReadText(FILE*);main()FILE*fp;if(fp=fopen(myfile4.txt,w)=NULL)pr
8、intf(open fail!n);exit(O);WriteText(fp);fclose(fp);if(fp=fopen(myfile4.txt/,r,)=NULL)printf(open fail!n);exit(O);ReadText(fp);fclose(fp);)/*/void WriteText(FILE _1_)char str81;printf(nEnter string with-1 to end:n);gets(str);while(strcmp(str/-r)!=O)/*found*/fputs(_2_,fw);fputs(n,fw);gets(str);)void R
9、eadText(FILE*fr)char str81;printf(nRead file and output to screen:n);fgets(str,81,fr);while(!feof(fr)/*/printf(%s,-3);fgets(str,81,fr);)二、程序改错题量 s 中奇数位高位仍在高位,低位给定程序M0DI1.C中函数fun的功能是:从低位开始取E上的数,根茨构成一个新数放在t 中。二二二二二二二二被口,当s币的数为:7654321时,仲的数为:7531。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不椁增行或删行,也不得更改程序的结构!#i
10、nclude/*found*/void fun(long s,long t)long sl=10;*t=s%10;while(s 0)s=s/100;*t=s%10*sl+*t;/*found*7sl=sl*100;)main()long s,t;printf(nPlease enters:);scanf(%ld,&s);fun(s,&t);printf(The result is:%ldn,t);)三、程序编写题学生的记录由学号和成绩组成,N名学生的数据己在主函数中放入结构体数组一中,请 编 瞽 数 f u n,它的功能是:把分数最低的学生数很放在b版指的数组中,注意:方数盘低的胃生可熊不止
11、一个,函数返回分数最低身学生的人数。注 意:部分源程_序_在_发_ 件PRPR00GG11.C C 文文件件申中。请勿改动主函望 其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include#define N 16typedef struct char num10;int s;STREC;int fun(STR EC*a,STREC*b)()main()STREC sN=GA05,85/GA03H/76zGA02,69zGA04/85,GA01,91/GA07,72,GA08z64,GA06,87/GA015,1,85,GA013,1,91,GA012,64zGA014
12、,91/,GA011,z91/GA017,64/GA018/64zGA016/72;STREC hN;int izn;FILE*out;n=fun(s,h);printf(The%d lowest score:n,n);for(i=0;in;i+)printf(%s%4dn/hi.num/hi.s);printf(n);out=fopenCKiWkOlWAOlOOOlWout.datVw);fprintf(out,%dn,n);for(i=0;in;i+)fprintf(out,%4dn,hi.s);fclose(out);)第3套题一、程序填空题给定程比史,inyfile3.tx t的文本:
13、果。给定程序史,函数fun的 是:将自然麴 1 0以及它们的平方根写到名为le 3.tx t的支本文件中,然后蒯则定读出显示在屏嘉上。请在程序的下划枝处填入正瀛内容并把十划线制除,使程序得出正确的结注意:源程序存放在考生文件考下的BLANK1.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+)/*fu n d*/fprintf(1,%d%fn/i,sqrt(double)i);pr
14、intf(nSucceed!n);/*found*/2;printf(nThe data in file:n);/*found*/if(fp=fopen(_3_/r)=NULL)return 0;fscanf(fp,%d%f,&n,&x);while(!feof(fp)printf(%d%An,n,x);fscanf(fp,%d%f,&n,&x);fclose(fp);return 1;)main()char f n a m e =myf i Ie3.txtfun(fname);)二、程序改错题给定程序M0DI1.C中fun函数的功能是:翔n个无序整数从小到大排序。请改正徨序中的错误,使它能黄
15、出正确的结果。注意:不要改动main函数,不博增行或删行,也不得更改程序的结构!#include#include void fun(int n,int*a)int i,j,p,t;for(j=0;jn-l;j+)P=j;/*found*/for(i=j+l;iai)/*found*/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(nH);)main()int aa20=9,3,0,4,1,2,5,6,8,
16、10,7,n=ll;printf(nnBefore sorting%d numbers:n,n);putarr(n,aa);fun(n,aa);printf(nAfter sorting%d numbers:n,n);putarr(n,aa);三、程序编写题#incl数。入改填修中膏方不括据花数的的,,Un此在4ofrl仅251鳌后3任-1L中个和和将十勾向1不L 1二户la鬟bl?。翡在45源函句蜴:放a=分主语幡是次当野干fur式依:改若数方数如意勿的函的位翟请写并个编合和ude void fun(int a,int b,long*c)main()int a,b;long c;void N
17、ONO();printf(lnput a b:);scanf(%d%d/&a,&b);fun(a,b,&c);printf(The result is:%ldn/c);NONO();)void NONO()/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/FILE*rf,*wf;int i,a,b;long c;rf=fopen(K:k0124010001in.dat,r);wf=fopen(K:k0124010001out.datzw);for(i=0;i 10;i+)fscanf(rf,%d,%d,&a,&b);fun(az b,&c);fprintf(wf,a=%d,b
18、=%d,c=%ldn,a,b,c);)fclose(rf);fclose(wf);第4套题一、程序填空题给定程序的功能是:明骈成功时函数返回值为1,失败时返回值为0。在复木出乳终端屏幕。主函数中源文件名放在变量sfnaroe,目标文件名;在变里t fname中。请在程序南下划线处填入正确的内容并把下划线删除,使程序得出正确的结果八 注 意:源程序存放在考生文件隽下的BLANK1.C中。不容增存或删行,也不律更改程序的结构!#include#include int fun(char*source,char*target)FILE char ch;/*Q|J p|*Vif(fs=fopen(sou
19、rce,_1_)=NULL)return 0;if(ft=fo pen(target,w)=NULL)return 0;printf(nThe data in file:n);ch=fgetc(fs);/*found*/while(!feof(_2_)putchar(ch);/*found*/fputc(ch,_ 3 _);ch=fgetc(fs);fclose(fs);fclose(ft);printf(nn);return 1;)main()char sfname20 =nmyfilel/tfname20=myfile2;FILE*myf;int i;char c;myf=fopen(sf
20、name/w);printf(HnThe original data:n);for(i=l;i30;i+)c=A,+rand()%25;fprintf(myf/%c,c);printf(%c,c);fclose(myf);printf(nnn);if(fun(sfname,tfname)printf(Succeed!);else printf(HFail!);)二、程序改错题给定矍序M0DI1.C中函数fun的功能是:将长整型数中每一位上为偶数的数依次取出,埼成一个瓶数放在t 中。高位仍在商叔,低位仍在低位。例如,当s 中的数为:87653142时,1顿 数 为 8642。请改正程序中的错误,
21、使它能獴出正襁的结果。注意:不要改动main函数,不椁增行或删行,也不得更改程序的结构!#include void fun(long s,long*t)int d;long sl=l;*t=0;while(s 0)d=s%10;/*f u n d*/if(d%2=0)*t=d*sl+*t;si*=10;/*found*7s=io;main()long s,t;printf(nPlease enters:);scanf(%ld,&s);fun(s,&t);printf(The result is:%ldn,t);)三、程序编写题函数fun的功能是:将s所指数的字符外,其余的全都删除;串中。生 二
22、 鹦0,蕾榭睛健处I演 为 ABC D决以2.3啦值为奇数,因此应当删除;:为偶数、同的一个新串奇数,因此也应当删除;而_ _ _ _ _ _ _ _z.敷,因此不应当删除,其它依此类推。最后t所指的数组中的内容应是:246”。注 意:部分源程序存在文件PR0G1.C中。请勿改副主函薮m a i丽 其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include#include void fun(char*s,char t)()main()(char s100,t100;void NONO();printf(nPlease enter string S:);scanf(%s
23、,s);fun(s,t);printf(nThe result is:%sn,t);NONO();void NONO()/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/char s100,t100;FILE*rf,*wf;int i;rf=fopen(K:k0124010001in.dat,r);wf=fopen(K:k0124010001out.dat;w);for(i=0;i 10;i+)fscanf(rf,%s,s);fun(s,t);fprintf(wf,%sn,t);)fclose(rf);fclose(wf);第5套题一、程序填空题#incl中的各结点按结点数强
24、值放入一个新结点杵瑞,使程序得出正确的结裔。除链条序删表既费链单线保并的端仍容荫妒值内结酒的的头ful域确矗据正带函数入个。点填一套处立链各线建寿划己4下序选,序H定数表在给的链请望2/1的顺序BL程的改下更S文也生,考行在删放或序增S源不意注。域入果ude#include#d efine N 8typedef struct list int data;struct list*next;SLIST;void fun(SLIST*h,int x)SLIST*p,*q,*s;s=(SLIST*)malloc(sizeof(SLIST);/*Q1JpJ*/s-data=_1_;q=h;p=h-nex
25、t;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 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 p
26、rintf(-%d,p-data);p=p-next;while(p!=NULL);printf(-Endn);)main()SLIST*head;int x;int aN=125&19,22,25,29;head=creatlist(a);printf(nThe list before inserting:n);outlist(head);printf(nEntera number:);scanf(%d,&x);fun(head,x);printf(HnThe list after inserting:n);outlist(head);)二、程序改错题给定矍序M0D I1.C 中函数fun
27、的功能是:计算正整数n um 的各位上的数字之积。例如,若输入:252,则编出应该是:20。若输入:202,则输出应该是:0,请改正程序中的错费,使它能黄出正确的2吉果。注意:不要改动m a i n 函数,不椁增行或删行,也不得更改程序的结构!#include long fun(long num)/*f u n d*/long k;do k*=num%10;/*found*Inum=10;while(num);return(k);main()long n;printf(nPlease enter a number:);scanf(%ld”,&n);printf(n%ldn,fun(n);)三、
28、程序编写题道编写一个函数fun,它的功能是:计算n 门课程的平均分,计算结果作为函数值送回。例如:若有5门牌程的成绩是:90.5,72,80,61.5,55则l l 致 命 适 应 71.80。注意:部分源程序存在文件PR0G1.C 中。请勿改务主函薮m a i 痛 其它函数中的任何内容,仅在函数fun 的花括号中填入你编写的若干语句。#include float fun(float*a,int n)main()float score30=90.5,72,80,61.5,55,aver;void NONO();aver=fun(score,5);printf(nAverage score is
29、:%5.2fn,aver);NONO();)void NONO()/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/FILE*fp,*wf;int ij;float aver;score5;fp=fopenCKAXkOlWAOlOOOlWin.datVr);wf=fopen(”K:k0124010001out.dat”,“w);for(i=0;i 10;i+)for(j=0;j 5;j+)fscanf(fp,%f7&scorej);aver=fun(scorez 5);fprintf(wf,%5.2fn,aver);)fclose(fp);fclose(wf);)第6套题-、
30、程序填空题给定型序中己建立一个带有兴结点的单向链帚在m a i n 函数中将多次调用fun函数,每刷用一次fun 函数,输出器表尾部结点中函数据,并释放该菇嬴接链表缩短。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结源程序存放在考生文件房下的BLANKl.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)
31、S=t;/*found*/t=t-1;/*found*/printf(%d ,_ 2 _);s-next=NULL;/*found*/free(_ 3 _);)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=0;return h;)void outlist(SLIST*h)SLIST*p;p=h-next;if(p=NULL)printf(nThe list is NULL!n);else printf(nHead);d
32、o 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);printf(nOutput from head:n);outlist(head);printf(nOutput from tail:n);while(head-next!=NULL)fun(head);printf(nn);printf(nOutput from head again:n);outlist(head);)二、程序改错题改不但功
33、的#inclbao确时de正在出看输4应能不则它,使数cd,函ab误in为错maL动DI章中改MO内停要居若程中,正:定串如改意给篇请注字变ude/*fu n d*/fun(char a)if(*a)fun(a+l);/*fu n d*/printf(%c*a);)main()char s10=abcd;printf(处理前字符串二%sn处理后字符串二”,s);fun(s);printf(n);)三、程序编写题提则供返编求第如数意勿的请的回例函注请写写字一,将:改若一符个患野干个里文回主语C t得串F比较.回是返功函的,它物V。在gai存。ingh序Rsh魏L-B-OG数PR函件它文其扁你tl
34、鹃,ude char*fun(char*s,char*t)main()char a20,b20;void NONO();printf(lnput 1th string:);gets(a);printf(lnput 2th string:);gets(b);printf(%sn”,fun(a,b);NONO();void NONO()/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/FILE*fp,*wf;int i;char a20,b20;fp=fopen(K:k0124010001in.datzr);wf=fopen(K:k0124010001out.dat;w);for
35、(i=0;i 10;i+)fscanf(fp,%s%s,a,b);fprintf(wf,%sn,fun(a,b);)fclose(fp);fclose(wf);第7套题一、程序填空题给定程序中已建立一个带有头结点的单向链表,_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 域_ _ 递_契有序链接。函数fun 的功能是:删除链表中数据域值相同的结点,使之只保留一果。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结注意:源程序存放在考生文件隽下的BLANK1.C 中。不容增行或删行,也不得更改程序的结构!#include#include#def
36、ine N 8typedef struct list int data;struct list*next;SLIST;void fun(SLIST*h)SLIST*p,*q;p=h-next;if(p!=NULL)q=p-next;while(q!=NULL)if(p-data=q-data)p-next=q-next;/*found*/free(_1_);/*found*/q=p-2.)else p=q;/*found*/q=q-一3一;)SLIST*creatlist(int*a)SLIST*h,*p,*q;int i;h=p=(SLIST*)malloc(sizeof(SLIST);fo
37、r(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(nHeadn);do printf(-%d/p-data);p=p-next;while(p!=NULL);printf(-Endn);)main()SLIST*head;int aN:1,2,2,3,4,4,4,5;head=creatlist(a);printf(nThe list before deleting:n);o
38、utlist(head);fun(head);printf(nThe list after deleting:n);outlist(head);)二、程序改错题给定程序M0DI1.C中函数fun的功能是:用选择法对数组中的n个元素按从小到大 的 歌 辘 春 赢 错 误,.使它能彳导出正确的结果。:不要改动main函数,不容增行和删行,也不得更改程序的结构!#include#define N 20void fun(int a,int n)int i,j,t,p;for(j=0;j n-1;j+)*/P=jfor(i=j+l;i n;i+)if(ai ap)/*found7P=j;t=ap;ap
39、=aj;aj =t;)main()int aN=9,6,8,3,-l,i,m=5;printf(排序前的数据:);for(i=0;i m;i+)printf(%d,ai);printf(n);fun(azm);printf(排序后的数据:);for(i=0;i m;i+)printf(%d,ai);printf(n);三、程序编写题请编写一个函数f u n,它的功能是:求 出 时 此 配 含 m)能被7或11整除的所有整数放在双组a中,通过逾回这些数的个数。制如,着传送给m的值为5 0,则愈序输出:7 11 14 21 22 28 33 35 42 44 49注意:部分源程序存在文件PR0G1
40、.C中。请勿改务主函薮mai通 其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include#define M 100void fun(int m,int*a,int*n)main()int aaM,n,k;void NONO();fun(50,aa,&n);for(k=0;k n;k+)if(k+l)%20=0)printf(n);else printf(4d”,aak);printf(n);NONO();void NONO()/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/FILE*fp,*wf;int i,n,j,k,aaM,sum;fp=fo
41、pen(”K:k0124010001in.dat,T);wf=fopen(K:k0124010001out.datHzw);for(i=0;i 10;i+)fscanf(fp,%d/,&j);fun(j,aa,&n);sum=0;for(k=0;k n;k+)sum+=aak;fprintf(wf,%dn,sum);)fclose(fp);fclose(wf);)第8套题-、程序填空题给定程序中,函数fun 的功熊是:在差有头结点的里向链表中,查找数量域史值为c h 的结瓦 找到后通过函或值返回装珞点在链表田所处前顺序号;若米存左度为c h 的结点,函数返回遁。请在程序的下划线处埴入正确的内容
42、并把下划线删除,使程序得出正确的结果注意:源程序存放在考生文件隽下的BLANK1.C 中。不容增后或删行,也不彳审更改程序的结构!#include#include#define N 8typedef struct list int data;struct list*next;SLIST;SLIST*creatlist(char*);void outlist(SLIST*);int fun(SLIST*h,char ch)SLIST*p;int n=0;p=h-next;/*fo(jnd*/while(p!=_1_)n+;/*found*/if(p-data=ch)return_2_;else
43、p=p-next;return 0;)main()SLIST*head;int k;char ch;char aN=,m;p,/g7a7w7x7r,;d,;head=creatlist(a);outlist(head);printf(Enter a letter:);scanf(%c,&ch);/*found*/k=fun(_ 3 _);if(k=0)printf(nNot found!n);elseprintf(The sequence number is:%dn,k);)SLIST*creatlist(char*a)SLIST*h,*p,*q;int i;h=p=(SLIST*)mallo
44、c(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(-%c/p-data);p=p-next;while(p!=NULL);printf(-Endn);)二、程序改错题给定程序MOD I 1.C 中函数fun 的功能是:删除p所指字符串中的所有空白字符(包括制歙翻髀醍着改正盘庠中的错误,使七能输出正确的结果。
45、注意:不要改动m a i n 函数,不獴增行或删行,也不得更改程序的结构!#include#include#include fun(char*p)int i,t;char c80;/*f u n d*/For(i=0,t=0;pi;i+)if(!isspace(*(p+i)ct+=pi;/*fQ(Jp)|*/ct=0;strcpy(p,c);)main()char c?s80;int i=0;printf(lnput a string:);c=getchar();while(c!=#)si=c;i+;c=getchar();si=0;fun(s);puts(s);)三、程序编写题请编写一个函数
46、fun,它的功能是:将ss近指字符串中所有下标为奇数位置上的字母唐换为大写(若该位置上不是字母,则系揖换)。例如,若输入 a b c 4E Fg”,则应输出 a Bc 4E Fg。注 意:部分R 士 士”-一请勿改动主函望你编写的若干语句。源程序存在文件PR0G1.C中。j:m a i麻口其它函数中的任何内容,仅在函数fun的花括号中填入#include#include void fun(char*ss)main()char tt81;void NONO();printf(nPlease enter an string within 80 characters:n);gets(tt);prin
47、tf(nnAfter changing,the stringn%sz tt);fun(tt);printf(nbecomesn%sn,tt);NONO();void NONO()/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/FILE*fp,*wf;char tt81;int i;fp=fopen(K:k0124010001in.dat,r);wf=fopen(K:k0124010001out.dat;w);for(i=0;i 10;i+)fscanf(fp,%s,tt);fun(tt);fprintf(wf,%sn,tt);fclose(fp);fclose(wf);第9
48、套题一、程序填空题给定程序史函数fun 的功能是:统计出带有头结点的单向链表中结点的个数,存放在形参喇箱的存储单元中。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件旁下的BLANK1.C 中。不替增存或删行,也不编更改程序的结构!#include#include#define N 8typedef struct list int data;struct list*next;SLIST;SLIST*creatlist(int*a);void outlist(SLIST*);void fun(SLIST*h,int*n)SLIST*p;/*foun
49、d*/1=0;p=h-next;while(p)(*n)+;/*found*/P=P-_2;)main()SLIST*head;int aN=12787,45,32,91,16,20,48,num;head=creatlist(a);outlist(head);/*/fun(_3_,&num);printf(nnumber=%dn,num);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=0;return h;)voi
50、d outlist(SLIST*h)SLIST*p;p=h-next;if(p=NULL)printf(The list is NULL!n);else printf(nHead);do printf(-%cT,p-clata);p=p-next;while(p!=NULL);printf(-EndnH);)#inclt弓的.构旨附中出函是,能回功返的值fun数枣王出一确或dL正行bclnd出增a0UJ富f:0AE彳为be它,容t使数内no,函的.误in鼻错maL址值串cd鲁的动DI地数符ab符到中改MO的函字.字找序要居则当是当索不S:应定字给子指未磐出正.翦意-11诟注程;则ude#inc