《国家计算机二级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#definetypedefN 5struct int num;char name10;char tel10;STYPE;void check();/*found*Iint fun(_ 1 STYPE _*std)/*found*/2 FILE*fp;int i;if(fp=fopen(Hmyfile5.dat
2、;wb,)=NULL)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=l;,aaaaa,zllllll,l,b b b b b,222222*,l/ccccc,333333,l/ddddd,/444444,/l/,eeeee/555555;int k;k=fun(s);if(k=l)printf(Succeed!);check();elseprintf(Fail!);vo
3、id check()FILE*fp;int i;STYPE s10;if(fp=fopen(myfile5.dat,rb)=NULL)printf(Fail!n);exit(O);printf(HnRead 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);二、程序改错题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);/*found*/for(i=0;i=sl;i+)ti=si;for(i=0;isl;i+)tsl+i=ssl-i-l;/*found*/tsl=0;main()char s100,t100;printf(nPlease enter string s:);scanf(%s,s);fun(s,t);printf(HThe result is:%sn,t);)
5、三、程序编写题数鳍合.的改填修中膏方不括据花数的的?un此在糙仅41文乳数中一匚中立数PR函件它I r;rB将十百12祥福5,募句在=4源函语何.放a=分主干附是次当野若fur式依:改的数方数如意勿写函的位翟请编合和b后催灯内=的 1ma。你入#include void fun(int a,int bz 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 i,a,b;long c;rf=fopen(K:k0124010001in.datz 7);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套题一、程序填空题给定程序的功能是:从键盘输入若干行文本(每任不超过80个字假),写到文 件 喈 ile4.tx t _ 用-1(独立
7、一行)隹为宇符也输入结束的标志。然后将文件命内容篌出显示在屏窠上。文件的读写A 别由自走义函数ReadText和WriteText实现。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源矍序存放在考生文件理下的BL ANKl.C中。不容增籽或删行,也不得更改程序的结构!#include#include#includevoid WriteText(FILE*);void ReadText(FILE*);main()FILE*fp;if(fp=fopen(myfile4.txt,w)=NULL)printf(H open fail!n);exit(O);WriteTex
8、t(fp);fclose(fp);if(fp=fopen(myfile4.txt,r)=NULL)printf(open fail!n);exit(O);ReadText(fp);fclose(fp);)/*found*/void WriteText(FILE _1_)char str81;printf(nEnter string with-1 to end:n);gets(str);while(strcmp(strz-l)!=O)/*found*/fputs(_2_rfw);fputs(n,fw);gets(str);)void ReadText(FILE*fr)char str81;pri
9、ntf(nRead file and output to screen:n);fgets(str,81,fr);while(!feof(fr)/*found*/printf(%sz_3_);fgets(str,81,fr);)二、程序改错题给定程序MODIL C中函数fun的功能是:从低位开始取上的数,裱茨:.构.成.一.个 新 数放 在 t 中,。高位仍在高位,低位,量s中奇数位例如,当s中的数为:7654321时,t 中的数为:7531。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不警增行或删行,也不得更改程序的结构!#include/*found*/void f
10、un(long s,long t)long sl=10;*t=s%10;while(s 0)s=s/100;*t=s%10*si+*t;y*Q jp|*Isl=sl*100;)main()long s,t;printf(nPlease enter s:);scanf(%ld,&s);fun(s,&t);printf(The result is:%ldn,1);)三、程序编写题学生的记录由学号和成绩组成,N名学生的数据已在主函数中以入结构体数组电.遹 编 瞽 数 f u n,它的功能是:把分数最低的学生数强放在b断指的数组中,注恚 务数金低的看生可熊不止一个,函数返回分数最低周学生的人数。注意:
11、郃分源程序在女性PR0G1.C文件中。请勿改翱主函薮mai向 箕它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。/include#define N 16typedef struct char num10;int s;STREC;int fun(STREC*a,STREC*b)main()STREC sN=GA05z85,GA03z76,GA02z69,GA04z85,GA01,91,GA07/72,,lGA08z64,GA06,87,GA015z85,GA013,91,GA012,z64,GA014,91,GA01191,GA017,64,GA018,1/64,GA016/7
12、2;STREC hN;int i,n;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.datyw);fprintf(out,%dn,n);for(i=0;in;i+)fprintf(out,%4dn,/hi.s);fclose(out);)第3套题一、程序填空题给定程序史,函数fun的也能是:将自然数110以及它们的平方根写到名为翻 隆 第 耦 窗 矗 匕 使 程 序 得 出 正 确
13、 的 结果。注意:源矍序存放在考生文件旁下的BL ANKl.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+)/*found*/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;r)=NULL)
14、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);)二、程序改错题给定程序MODIL C中fun函数的功能是:翔n个无序整数从小到大排序。请改正连序中的错误,使它能黄出正确的结果。注意:不要改动main函数,不容增行或删行,也不得更改程序的结构!#include#include void fun(int n,int*a)int i,j,p,t;for(j
15、=0;jn-l;j+)P=j;/*found*Ifor(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(nH);printfCXn);)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);printf(nA代er sorting%d
16、numbersAn,n);putarr(n,aa);)合和翡在45源函句蝮:放分主语扇是次当野干fur式依,:改若数方数如意勿的函的位翟请写位位位猾RO缄濯矍彳禾禾:&此在北牝仅,数何数。入改填修中膏方不括据花数的的?un扁你将十十册益丽:占#一Z/旧后3任#include void fun(int a,int bz 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 NONO()/*本
17、函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/FILE*rf.*wf;int i,a,b;long c;rf=fopenCKAXkOlXVAOlOOOlWin.dat,r);wf=fopen(K:k0124010001out.datzw);for(i=0;i 10;i+)fscanf(rf,%d,%d,&a,&b);fun(a,b,&c);fprintf(wfz a=%d,b=%d,c=%ldn,/a,b,c);)fclose(rf);fclose(wf);第4套题一、程序填空题给定程序的功能是:工文瞿果es变。,复制成功时函数返回_ _ _ _ _ _ _容 镰 出 森 姗
18、屏 幕。主函数申源文件茗放在变量sfname里请 在tfn程am序e 南中下。划线处填入正确的内容并把下划线删除,使程序得出正确的结注意:源程序存放在考生文件房下的BL ANK1.C中。不得增杆或删行,也不得更改程序的结构!#include#includeint fun(char*source,char*target)FILE*fs,*ft;char ch;/*found*/if(fs=fopen(sourcez_1_)=NULL)return 0;if(ft=fopen(target,w)=NULL)return 0;printf(nThe data in file:n);ch=fgetc(
19、fs);/*Iwhile(!feof(_2_)putchar(ch);/*foun(j*jfputc(ch,_3_);ch=fgetc(fs);)fclose(fs);fclose(ft);printf(nnn);return 1;)main()char sfname20=,myfilel,tfname20=myfile2;FILE*myf;intchar c;myf=fopen(sfname/w);printf(nThe original data:nH);for(i=l;i30;i+)c=A,+rand()%25;fprintf(myf;%c/c);printf(”c”,c);fclose
20、(myf);printf(nn);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;*t=0;while(s 0)d
21、=s%10;/*found*/if(d%2=0)*t=d*sl+*t;si*=10;)y*Q jp|*Is=10;)main()long s,t;printf(nPlease enter s:);scanf(%ldz&s);fun(s,&t);printf(The result is:%ldn,t);)三、程序编写题函数fun 的功能是:将s所指字符串史除了下杼数的字符外,其余的全都删除;串审剩案字符由形成中。例如,若S所指字符串中的内容为:A B C D E F G 123456”值为奇数,因此应当删除一二:-奇数,因此也应当删除;而定根隹藐因此不应当删啥,其它他屁类:一一.注意:部分源程序
22、存在文件PR0G 1.C 中。请勿改副主函薮m ai 丽 其它函数中的任何内容,仅在函数fun 的花括号中填入你编写的若干语句。口的内容为:A B C D E F G l 23456”,其中字符A 的A SC II码其中学将B 的A SC H码值为偶数,但在数组中的下标为:士也2的A SC II租值为偶数,所在数组中的下标也乎偶类推。最层t所指的数组中的内容应是:246”。include#include void fun(char*s,char t)main()(char s100,t100;void NONO();printf(HnPlease enter string S:);scanf(
23、%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:k0124010001in.dat,zr);wf=fopenCKiWkOlWAOlOOOlWout.datVw);for(i=0;i 10;i+)fscanf(rf,%s,s);fun(s,t);fprintf(wf,%sn,t);)fclose(rf);fclose(wf);第5套题一、程序填空题域入果中到。给的链请
24、注定数表在意n序E已建立一个点.头结点的单向链表,链表中的各结点按结点数黑 翳 畿 翻 盘 褥 莓 蠲 靠 的 值 放 入 一 个 新 结 点 并 插下划线处填入正确的内容并把下期删除,使程序得出正确的结源矍序存放在考生文件旁下的BLANKl.C中。不导增杆或删行,也不得更改程序的结构!#include/include#definetypedefN 8struct list int data;struct list SLIST;void fun(SLIST*next;*hz int x)SLIST*p,*qz*s;s=(SLIST*)malloc(sizeof(SLIST);/*found*/
25、s-data=_1_;q=h;p=h-next;while(p!=NULL&xp-data)/*found*Iq=_2 _ _;p=p-next;)s-next=p;/*foun(j*/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 NU
26、LL!n);else printf(nHead);do printf(-%d,p-data);p=p-next;while(p!=NULL);printf(-Endn);)main()SLIST*head;int x;int aN=11,12,15,18,19,22,25,29;head=creatlist(a);printf(nThe list before inserting:n);outlist(head);printf(nEnter a number:);scanf(%d,&x);fun(head,x);printf(nThe list after inserting:n);outli
27、st(head);)二、程序改错题给定程序M0D I1.C 中函数fun 的功能是:V正整数n um 的各位上的数字之积。例如,若输入:252,则随出应该是:20,若输入:202,则输出应该是:0。请改正程序中的错鼠 使它能黄出正确的2吉果。注意:不要改动m ai n 函数,不容增行或删行,也不得更改程序的结构!#include long fun(long num)/*found*/long k;do k*=num%10;/*found*/num=10;while(num);return(k);)main()long n;printf(nPlease enter a number:);scan
28、f(%ld,&n);printf(n%ldn,fun(n);)三、程序编写题请编写一个函数f u n,它的功能是:计算n门课程的平均分,计算结果作为函数值遛回。例如:若直5门牌胜的成绩是:90.5,72,80,61.5,55则曷致的隹为:71.80。注意:部分源逑序存在文件PR0G1.C中。请勿改凝主函薮1面林口其它函数中的任何内容,仅在函数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);pr
29、intf(nAverage score is:%5,2fn,aver);NONO();)void NONO()/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/FILE*fp,*wf;int i,j;float aver,score5;fp=fopen(K:k0124010001in.dat/r);wf=fopen(K:k0124010001out.datzw);for(i=0;i 10;i+)for(j=0;j 5;j+)fscanf(fpj%fj,&scorej);aver=fun(scorez 5);fprintf(wf,%5.2fn,aver);fclose(fp);
30、fclose(wf);第6套题一、程序填空题给定程序中己建立一个带有大结点的单向链表,在main函数中扬多次fun函数,每刷用一次fun函数,输出他表尾部结点中的数据,并释放该绪瓦 横链表缩短。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果注意:源程序存放在考生文件西下的BL ANK1.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;whi
31、le(t-next!=NULL)y*QUpj*/t=t-_1.)/*fgu nj*/printf(%d,_2_);s-next=NULL;/*found*/free(_ 3 _);)SLIST*creatlist(int*a)SLIST*h,*p,*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(HnThe list is NULL!n);else printf
32、(nHead);do printf(-%dzp-data);p=p-next;while(p!=NULL);printf(-Endn);)main()SLIST*head;int aN=11,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、序改错题给定程序M0DI1.C中函数fun的功能是:将字符串中的字符按逆序输出,但不改变字符串中的内容W O,若字符串为ab ed,则应输出:debao请改正程序中的错误,二:-注意:不要我动main函数,不得更改程序的结构!#include/*found*/fun(char a)if(*a)fun(a+l);/*found*/printf(%c*a);)main()char s10=abcd;printf(处理前字符串=%sn处理后字符串=,s);fun(s);printf(n);数度串i jan募。函长符besh源函句个里又回主语一学干写字一,将:改若编求第如数意勿的请的回例函注请写供返编
34、提则你n gh a功函.回是返项数PR函件它文其L-B-符串字符U子两的I串。o1 1V。在 1独车#include 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=fopenCKWkOlW
35、OlOOOlWin.datVr“);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套题一、程序填空题给定程序中已建立一个带有头结点的单向链表,链表中的各结点按数逑域递樊有序链接。函数fun 的功能是:删除链表中数据域值相同的结点,使之只操留一1”请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果注意:源程序存放在考生文件考下的B LA NK1.C 中。不容增若或删行,也不容更改程序的结构!
36、#include#include#define 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一;)elsep=q;/*found*/q=q-一3一;)SLIST*creatlist(int*a)SLIST*h,*p,*q;int i;h=p=(SLIST*)
37、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=1,2,2,3,4,4,4,5;head=creatlist(a);printf(nThe list
38、 before deleting:n);outlist(head);fun(head);printf(nThe list after deleting:n);outlist(head);)二、程序改错题给定程序M0DI1.C中函数fun的功能是:用选择法对数组中的n个元素按从小到大1鸳输馨畿它耦辘髓,不得更改程序的结构!#include#define N 20void fun(int a,int n)int i,j,t,p;for(j=0;j n-1;j+)/*found*7p=jfor(i=j+l;i n;i+)if(aiap)/*foun(j*/p=j;t=ap;ap=aU;aj=t;ma
39、in()(int aN=9,6z8z3,-l,i/m=5;printf(排序前的数据:。;for(i=0;i m;i+)printf(%d,ai);printf(n);fun(a?m);printf(排序后的数据门;for(i=0;i m;i+)printf(%d,ai);printf(n);三、程序编写题请编号一个函数f u n,它的功熊是:求出1整数放在双组a中,通过超回这些数的个数。制 静 晓 能 拗 学 整 除 的 譬送给1n的值为5 0,则程序输出:7 11 14 21 22 28 33 35 42 44 49注意:部分源程序存在文件PR0G1.C中。请勿改领主函薮mai丽 其它函数
40、中的任何内容,仅在函数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=fopen(K:k0124010001in.
41、dat,r);wf=fopen(K:k0124010001out.dat;w);for(i=0;i 10;i+)fscanf(fp,&j);fun(j,aa,&n);sum=0;for(k=0;k n;k+)sum+=aak;fprintf(wf,%dn,sum);fclose(fp);fclose(wf);)第8套题一、程序填空题为给ch定的程基序瓦中找,到函后数通f过un函的我功值熊返是回:或在鸟差点头直在结链一点表下中的以所单=处工回的匕顺赚,序史号三金 找馥慧为ch 的结点,函数返回谑。请在程序的下划线处道入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件隽下
42、的B LA NK1.C 中。不修增后或删行,也不容更改程序的结构!int data;struct list*next;#include#include#definetypedefN 8struct list SLIST;SLIST*creatlist(char*);void outlist(SLIST*);int fun(SLIST*hz char ch)SLIST*p;int n=0;p=h-next;/*Q|JpJ*/while(p!=_ 1_)n+;/*found*/if(p-data=ch)return_2_;else p=p-next;)return 0;)main()SLIST*h
43、ead;int k;char ch;char alNlxfmVp/gVa/w/xVr/d);head=creatlist(a);outlist(head);printf(Enter a letter:);scanf(%cz&ch);/*found*/k=fun(-3一);if(k=0)printf(nNot found!n);else printf(The sequence number is:%dnzk);)SLIST*creatlist(char*a)SLIST*h,*p,*q;int i;h=p=(SLIST*)malloc(sizeof(SLIST);for(i=0;idata=ai;
44、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(-%c,p-data);p=p-next;while(p!=NULL);printf(-Endn);二、程序改错题给定程序M0DI1.C中函数fun的功能是:删除p所指字符串中的所有空白字符(包括 制 嬲 格 绪 w 序 篦 嚣 随 输 出 正 确 的 结 悬注意:不要改动main函数,不得增行或删行,也不得更改程序的结构
45、!#include#include#include fun(char*p)int i,t;char c80;/*found*/For(i=0,t=0;pi;i+)if(!isspace(*(p+i)ct+=pi;/*/found*/ct=O;strcpy(p,c);main()char czs80;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近指字符串中所有下标为奇数位置上的字母唐换为大写(若
46、该位置上不是字母,则聚得换)。例如,若输入“abc4EFg”,则应输出“aBc4EFg”。注意:郁务源程序存在文件PR0G1.C中。请勿改凝主函薮mai际 其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include#include void fun(char*ss)main()char tt81;void NONO();printf(nPlease enter an string within 80 characters:n);gets(tt);printf(HnnAfter changing,the stringn%s,tt);fun(tt);printf(Hnbe
47、comesn tt);NONO();void NONO()/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/FILE*fp,*wf;char tt81;int i;fp=fopen(“K:k0124010001in.dat,r“);wf=fopenCKiWkOlWAOlOOOlWout.datVw);for(i=0;i 10;i+)fscanf(fp,tt);fun(tt);fprintf(wf,sn”,tt);fclose(fp);fclose(wf);)第9套题一、程序填空题给定程序中自函数fun 的功能是:统计出带有头结点的单向链表中结点的个数,存放在形参n 耐指的存储
48、单元中。请在程序芮下划线处填入正确的内容并把下划线删除,使程序得出正确的结果注意:源程序存放在考生文件旁下的B LA NK1.C 中。不容增打或删行,也不得更改程序的结构!#include#include#defineN8typedefstruct list int data;struct list*next;SLIST;SLIST*creatlist(int*a);void outlist(SLIST*);void fun(SLIST*h,int*n)SLIST*p;/*found*/1=0;p=h-next;while(p)(*n)+;y*Q|jp|*IP=P-一2一;)main()SLI
49、ST*head;int aN=12/87,45,32,91,16,20,48,num;head=creatlist(a);outlist(head);/*found*/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=O;return h;)void outlist(SLIST*h)SLIST*p;p=h-next;if(p=NULL)prin
50、tf(The list is NULL!n);else printf(nHead);do printf(H-%d,p-data);p=p-next;while(p!=NULL);printf(-Endn);)二、程序改错题给定蜃序M ODI1.C中函数fun的功能是:平出s所指字符串中最后一次出现的t近指子字樗电的地址,通过函数值返回,在主函数中输出从此地址开始的字符串;者未找到,则函数值为NUL L。例如,当字俗串中的内容为:abcdabfabcdx”,t中的内容为:ab时,输出结果应是的内容为:abcdabfabcdx”,t中的内容为:abd”时,则程序疑出去找_ _ _ _ _ _ _: