《二级c语言考试.pdf》由会员分享,可在线阅读,更多相关《二级c语言考试.pdf(145页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第1套题一、程序填空题给定程序的功熊是调用fun 函数建立班级通讯录。通讯录中记承每位签生的编号、姓名和电话容码。转级的人数和孝生的信息从键盘读入,每个人的宿息作为一个数掷夬写到名为iry fi 1 e 5.d at的二进制文件中。请在翟序的节划线乱填入正确的内容错巴下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件隽下的B L A N K l.C中。不樨增存或删行,也不得更改程序的结构!ffinclude#include#definetypedefN 5struct int num;char name10;char tel10;STYPE;void check();/*found*
2、/int fun(_1_*std)/*fu n d*!2*fp;int i;if(fp=fopen(myfile5.dat,/wb)=NULL)return(O);printf(nOutput data to file!n);for(i=0;iN;i+)/*fu n d*/fwrite(&stdi,sizeof(STYPE),1,_3_);fclose(fp);return(1);)main()STYPE s10=l,aaaaa,z,l l l l l l /l,bbbbb,222222,lzccccc,333333,l/ddddd,444444,l,eeeee,555555;int k;k=
3、fun(s);if(k=l)printf(Succeed!);check();else)printf(Fail!);void check()FILE*fp;int i;STYPE s10;if(fp=fopen(myfile5.dat/rb)=NULL)printf(Fail!n);exit(O);printf(nRead file and output to screen:nH);printf(n num name teln);for(i=0;iN;i+)fread(&siLsizeof(STYPE),l,fp);printf(%6d%s%sn,si.num/si.name,si.tel);
4、)fclose(fp);)二、程序改错题2 s藉 嚅 爨 靠 霸 普 符 串 S 申的字符按正序存放鳖嚏CD整 副 串、口面。应为:A B CDEEDCB A”。例如:当S 里的空筠里则冲的字符串请_ _改_ _正_ _程_序_ _中_ _的_ _程_ 使吴它,能债出正确的结果。注意:不要改动m ain 函数,不容增行或删行,也不得更改程序的结构!#include 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;
5、/*found*/tsl =0;)main()char s100,t100;printf(nPlease enter string s:);scanf(%s,s);fun(s,t);printf(The result is:%sn,t);)三、程序编写题数%.的改填修中膏方不括据花的,,UnN.在1仅Ar的依。函数数上诙性位用L-a-两个个调.、口口4夭夭OG数PR函,件它将十百a丽内向二吊口:AHHfrb H予a3S声泰也翡在=4源函语蜴.放a=分主干幡是次当野若fur式依;改的数方数如意勿写函的位翟请编合和你、/1.b后点催#include void fun(int a,int b,lon
6、g*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()/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/FILE*rt*wf;int i,a,b;long c;rf=fopen(K:k0124010001in.dat,r);wf=fopenCKAXkOlWAOlOOOlWout.daCw);for(i=0;i 10;i+)fscanf(rf,%d,%d,&a,&b);
7、fun(a,b,&c);fprintf(wf,a=%d,b=%d,c=%ldnn,a,b,c);)fclose(rf);伺ose(wf);)第2套题一、程序填空题给定程序的功能是:从键盘输入若干行文本(每任不超过8 0 个字假),写到文件喈粗用-1 (独立一行)隹为宇符也输入结束的标志。然后将文件的内容读出显示在屏票上。文件的读写分别由自定义函数1 2 或6%七和收五6 1 6 乂 七 实现。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源矍序存放在考生文件隽下的B L A N K l.C中。不容增行或删行,也不符更改程序的结构!ffinclude#include
8、includevoid WriteText(FILE*);void ReadText(FILE*);main()FILE*fp;if(fp=fopen(myfile4.txt,w,)=NULL)printf(open fail!n);exit(O);WriteText(fp);fclose(fp);if(fp=fopen(myfile4.txt,r)=NULL)printf(H open fail!n);exit(O);ReadText(fp);fclose(fp);)/*found*/void WriteText(FILE _1_)char str81;printf(nEnter strin
9、g with-1 to end:n);gets(str);while(strcmp(str,-l)!=O)/*found*/fputs(_2_,fw);fputs(Hn,fw);gets(str);)void ReadText(FILE*fr)char str81;printf(nRead file and output to screen:n);fgets(str,81,fr);while(!feof(fr)/*found*/printfC%s,一 3);fgets(str,81,fr);)二、程序改错题量 s中奇数位上的数,给定程序M0DI1.C中函数fun的功能是:从低位开始取廿二,康茨
10、构成一个新数放在t 中。高位仍在高位,低位例如,当s中的数为:7654321时,t 币的数为:7531。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不椁增行或删行,也不得更改程序的结构!#include/*found*7void fun(long s,long t)long sl=10;*t=s%10;while(s 0)s=s/100;*t=s%10*sl+*t;/*found*/si=sl*100;)main()long s,t;printf(nPlease enter s:);scanf(%ld;&s);fun(s,&t);printf(The result i
11、s:%ldn,t);)三、程序编写题学生的记录由学号和成绩组成,N名学生的数据己在主函数中放人结构体数组请 编 海 数 f u n,它的功能是:把分数最低的学生数据放在b断指的数组中,注意:方数嶷低的寸生可熊不止一个,函数返回分数最低的学生的人数。注意:部分源程序在女性PR0G1.C文件中。请勿改勃主函薮mai丽 箕它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include#define N 16typedef struct char num10;int s;STREC;int fun(STREC*a,STREC*b)main()STREC sN=GA05/85z,GA
12、03,76HGA02,69H,GA04,1,85zGA01,91,GA07/72,GA08,64,GA06,87,GA015,85,GA013,91,GA012/64,GA014,91zGA011,91,GA017,64,GA018/64,GA016,72;STREC hN;int i,n;FILE*out;n=fun(s,h);printf(HThe%d lowest score:n,n);for(i=0;in;i+)printf(%s%4dn,hi.num,hi.s);printf(n);out=fopen(K:k0124010001out.dat/w);fprintf(out,%dn,n
13、);for(i=0;in;i+)fprintf(out,%4dnzhi.s);fclose(out);)第3套题一、程序填空题给定程序里,函数fun的功熊是上将自辎工 吆及它们的平方根写到名为myfile3.txt 的 支.,使程序得出正确的结果。注意:源程序存放在考生文件旁下的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+)/*fu n d*/fprintf(_
14、1_,%d%fn,i,sqrt(double)i);printf(nSucceed!nH);/*found*/2;printf(nThe data in file:n);/*fu n d*!if(fp=fopen(_3 _,r)=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 f n a m e =myf i Ie3.txt;fun(fname);)二、程序改错题给定程序MODH.C中fun函数的功
15、能是:扬n个无序整数从小到大排序。请改正建序中的错误,使它能强出正确的结果。注意:不要改动main函数,不椁增行或删行,也不得更改程序的结构!#include include void fun(int n,int*a)int i,j,p,t;for(j=0;j n-l;j+)P=j;/*fo u n d*/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(n);
16、)main()int aa20=9,3,0,4,1,2,5,6,8,10,7,n=ll;printf(HnnBefore sorting%d numbers:n,n);putarr(n,aa);fun(n,aa);printf(nAfter sorting%d numbersAn,n);putarr(n,aa);)三、程序编写题鼾B裁第i在45源函句溷:放4分主语州是次当磬干fur式依:.改若数方数如意勿的函的位翟请写并个编合和你ac魏鑫鳞位位位耨Ro缄两个千斯那个和花h数此在40牝仅:51文乳数。入改填修中誉一P不括据花数的的.,Un数弱的后3任include void fun(int a,
17、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 NONO()/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/FILE*rf*wf;int i,a,b;long c;rf=fopen(”K:k0124010001in.dat”,T);wf=fopen(K:k0124010001Wout.dat,w);for(i=0;i 10;i+)fscanf(rf,%
18、d,%d,&a,&b);fun(a,b,&c);fprintf(wt a=%d,b=%d,c=%ldn,a,b,c);)fclose(rf);fclose(wf);第4套题一、程序填空题自 警 斶 蠹 曾:_与容籁出列终端屏幕。主函数中源文件名放在变量sfname钞 的 包 管为O o 在复鹦 蟹 的 最,目标文件名:变里tfnaine中。请在程序南下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件隽下的BLANKl.C中。不容增杆或删行,也不落更改程序的结构!/include#includeint fun(char*source,char*target)F
19、ILE*fs,*ft;char ch;/*found*/if(fs=fopen(source,_1_)=NULL)return 0;if(ft=fopen(target,w)=NULL)return 0;printf(nThe data in file:n);ch=fgetc(fs);/*found*/while(!feof(_2_)putchar(ch);/*fu n d*!fputc(ch,3 _);ch=fgetc(fs);)fclose(fs);fclose(ft);printf(nn);return 1;)main()char sfname20 =myfilel,tfname20=,
20、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(myV%c,c);printf(%czc);fclose(myf);printf(nn);if(fun(sfname,tfname)printf(Succeed!);else printf(Fail!);二、程序改错题次取出,给一定一程程序M0DI1.C中函数fun的功能是:将长整型数中每一位上为偶数的数依出将施一个瓶数放在t 中。高位仍在商出低位仍在低位。例如,
21、当s中的数为:87653142可,t 确 数 为:8642。请改正程序中的错误,使它能黄出正阖的结果。注意:不要改动main函数,不棺增行或删行,也不得更改程序的结构!include void fun(long sz long*t)int d;long sl=l;*t=0;while(s 0)d=s%10;/*found*/if(d%2=0)*t=d*sl+*t;si*=10;/*-:QJ J p J*/s=io;)main()long s,t;printf(nPlease enter s:);scanf(%ld,&s);fun(s,&t);printf(The result is:%ldn,
22、t);)三、程序编写题为偶数、i的一个新串函数fun 的功能是:将s所指数的字符外,其余的全都删除;串中。1 一 一“口的内笞为:A B CDEFG1 2 3 4 5 6”,其史字符A 的A S CI I 码其 中 翔 B 的A S CH 阳值为偶数,但在数如中的下标为华符2 的A S CI I 租值为偈数,所在数组中的下标也为偶类推。最看t所指的数组中的内容应是:2 4 6”。,若s所指字符串中的内笞为:A B CDEFG1 2 3 4 5 6 值为奇数,因此应当删除1 -寄数,因此也应当删除;而壬住S,因此不应当删患其它乐曲类推。熊后注意:部分源程序存在文件PR0 G1.C中。请勿改副主函
23、薮m ai痛 其它函数中的任何内容,仅在函数fun 的花括号中填入你编写的若干语句#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()/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。7char s100,t100;FILE*rf,*wf;int i;rf=fopen(K:k0124010
24、001in.datzr);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套题一、程序填空题域入果中到。给的链请注定数表在意序卑已建立一个堂.头结点的单向链表,链表中的各结点按结点数黑 矗 羲 翻 盘 褥 奉 国 靠 的 值 放 入 一 个 新 结 点 解下划线处填入正确的内容并把下 删除,使程序得出正确的结源矍序存放在考生文件旁下的B L A N K 1.C中。不根增存或删行,也不得更改程序的结构!ninc
25、lude#include#definetypedefN 8struct list int data;struct list*next;SLIST;void fun(SLIST*h,int x)SLIST*p,*q,*s;s=(SLIST*)malloc(sizeof(SLIST);/*Q|Jp J*/s-data=_1_;q=h;p=h-next;while(p!=NULL&xp-data)/*nd*/q=一 2 _;p=p-next;)s-next=p;/*fu n d*/q-next=_3_;)SLIST*creatlist(int*a)SLIST*h,*p,*q;int i;h=p=(S
26、LIST*)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(-%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=creatlis
27、t(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);outlist(head);)二、程序改错题给定矍序M 0 DI 1.C中函数fun 的功能是:计舁正整数n um 的各位上的数字之积。例如,若输入:2 5 2,则输出应该是:2 0。若输入:2 0 2,则输出应该是:0,请改正程序中的错费,使它能强出正确的2 吉果。注意:不要改动m ain 函数,不博增行或删行,
28、也不得更改程序的结构!include long fun(long num)/*fu n d*!long k;do k*=num%10;/*found*/num=10;while(num);return(k);)main()long n;printf(nPlease enter a number:);scanf(%ld,&n);printf(n%ldn,fun(n);)三、程序编写题道编写一个函数f u n,它的功能是:计算n门课程的平均分,计算结果作为函数值送回。例如:若有5门牌挂的成绩是:90.5,72,80,61.5,55则l l致命隹为:71.80。注意:部分源逑序存在文件PR0G1.C
29、中。请勿改新主函薮mail而其它函数中的任何内容,仅在函数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:%5.2fn,aver);NONO();)void NONO()/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/FILE*fpz*wf;int i,j;float avec score5;fp=fopen(”K:k012
30、4010001in.dat,J r”);wf=fopen(K:k0124010001Wout.dat,w);for(i=0;i 10;i+)for(j=0;j 5;j+)fscanf(fp,f,”,&scorej);aver=fun(score,5);fprintf(wf,%5.2fnnz aver);fclose(fp);fclose(wf);)第6套题一、程序填空题给定程序中已建立一个带有大结点的单向链表,在main函数中将多次巩用fun函数,每周用一次fun函数,输出标表尾部结点中的数据,并释放该2余,横链表缩短。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果注意:
31、源矍序存放在考生文件房下的BLANK1.C中。不得增打或删行,也不符更改程序的结构!#include include#define N 8typedef struct list int data;struct list*next;SLIST;void fun(SU ST*p)SLIST*t,*s;t=p-next;s=p;while(t-next!=NULL)S=t;/*found*t=t-_1_;/*砧und*printf(%d,2 _);s-next=NULL;/*found*/free(3一);)SLIST*creatlist(int*a)SLIST*h,*p,*q;int i;h=p=
32、(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(-%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)
33、;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);)二、程序改错题给定程序M O DI 1.C中函数fun 的功能是:将字符串中的字符按逆序输出,但不改变字件串中也电存黑请f_e_改_n_,正_ _程f_序中的为abe d,则应输出:d e b a0_ _ _ _ _错误,使它能计算出正确的结养。注意:不要改动m ain 函
34、数,不得借行或删行,也不得更改程序的结构!include/*found*/fun(char a)if(*a)fun(a+l);/*found*/printf(%c*a);)main()char s10=abcd;printf(处理前字符串二%sn处理后字符串S s);fun(s);printf(n);)供返提则数度串ij曲襄。函长符besh源函句个曼文回主语一符个患野干写字一,将:改若编求第如数意勿的请的回例函注请写孙函fur的o1它.功函.回是返,(字*区个长两的若串。符N字两的I语晌Ct得串不符 c。在江数PR函件它文其-)数33的你扁4 ganh 11 回车C郁L中中include ch
35、ar*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*fpz*wf;int i;char a20,b20;fp=fopen(K:k0124010001in.dat;r);wf=fopen(K:k0124010001out.dat,w);for(i=0;i 1
36、0;i+)fscanf(fp,%s%s,a,b);fprintf(wf,%sn,fun(a,b);)fclose(fp);fclose(wf);第7套题一、程序填空题给定程序中己建立一个带有头结点的单向链表,一.一_ _ _ _ 域_ _ 递_樊有序链接。函数fun 的功能是:删除链表中数据域值相同的结点,使之只保留一请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源矍序存放在考生文件旁下的B L A N K 1.C中。不容增行或删行,也不痔更改程序的结构!#include#include#define N 8typedef struct list int data
37、;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-);/*fu n d*/q=p-一2一;)else p=q;/*found*/q=q-_3_;)SUST*creatlist(int*a)SUST*h,*p,*q;int i;h=p=(SLIST*)malloc(sizeof(SLIST);for(i=0;idata=ai;p-next=q;p=q;)p-next
38、=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(-%d,p-data);p=p-next;while(p!=NULL);printf(-EndnH);)main()SLIST*head;int aN=l,2,2,3,4,4,4,5;head=creatlist(a);printf(nThe list before deleting:n);outlist(head);fun(head);printf(nThe
39、list after deleting:n);outlist(head);)二、程序改错题给定程序M ODI 1.C中函数fun的功能是:用选择法对数组中的n个元素按从小到大 的 祭 鬻 您 遥 它 糯 耦 皤 鼠 不 得 更 改 程 序 的 结 构!#include#define N 20void fun(int a,int n)int i,j,t,p;for(j=0;j n-1;j+)/*found*/P=jfor(i=j+l;i n;i+)if(ai ap)/*found*/P=J;t=ap;ap =aj;aj=t;)main()int aN=9,6,8,3,-l,i,m=5;print
40、f(排序前的数据:);for(i=0;i m;i+)printf(%d,ai);printf(n);fun(a,m);printf。1排序后的数据:);for(i=0;i m;i+)printf(%d,ai);printf(n);三、程序编写题请编写一个函数f u n,它的功能是:求出1到m 之I虫含m)能被7或11整除的昉有整数放在致组a中,通过越回这些数的个数。例如,者传送给m 的值为5 0,则愈序输出:7 11 14 21 22 28 33 35 42 44 49注意:部分源程序存在文件PR0G1.C中。请勿改知主函薮1 勒松口其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若
41、干语句。#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.dat,r);wf=fopen(K:k0124010
42、001out.dat,w);for(i=0;i 10;i+)fscanf(fp,H%d,&j);fun(j,aa,&n);sum=0;for(k=0;k n;k+)sum+=aak;fprintf(wf,dn“,sum);)fclose(fp);伺ose(wf);第8套题一、程序填空题为给ch定的程房序友中找,到函后数通f过un函的般功值能返是:回在孩差给有点头大在汨结链尽表的点 鸳 髓 酷 演 找 舞 慧为ch的结点,函致返向谴。请在程序的下划线处璋入正确的内容并把下划线删除,使程序得出正确的结果。注意:源矍序存放在考生文件隽下的B L A N K l.C中。不薄增后或删行,也不得更改程序的
43、结构!#include#include#definetypedefN 8struct 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;/*found*/while(p!=_1_)n+;/*found*/if(p-data=ch)return_2_;else p=p-next;return 0;)main()SLIST*head;int k;char ch;char aN=fm,,P,N
44、 a/w ,d ;head=creatlist(a);outlist(head);printf(HEnter a letter:);scanf(%c,&ch);/*found*/k=fun(_ 3 _);if(k=0)printf(nNot found!n);elseprintf(The sequence number is:%dn,k);SU ST*creatlist(char*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;)voi
45、d 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(n-Endn);程序改错题给定程序M O DI 1.C中函数fun 的功能是:删除p 所指字符串中的所有空白字符(包楙锻艇翻右港改正相译中的错误,使电能输出正确的结果。注意:不要改动m ain 函数,不售增行或删行,也不得更改程序的结构!include#include include fun(char*p)i
46、nt i,t;char c80;*found*/For(i=0,t=0;pi;i+)if(!isspace(*(p+i)ct+=pi;/*f u n d*ct=O;strcpy(p,c);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”,则应输出aBc4
47、EFg”。注意:部分源程序存在文件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(nnAfter changing,the stringn%s,tt);fun(tt);printf(nbecomesn%sn,tt);NONO();void NONO()/*本函数用于打开
48、文件,输入数据,调用函数,输出数据,关闭文件。*/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套题一、程序填空题给定程序史函数fun的功能是:统计出带有头结点的单向链表中结点的个数,存放在形参砺指的存储单元中。请在程序前下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意
49、:源矍序存放在考生文件岩下的BLANKL C中。不容增籽或删行,也不富更改程序的结构!includeinclude#d efinetypedefN 8struct list int data;struct list*next;SLIST;SLIST*creatlist(int*a);void outlist(SLIST*);void fun(SLIST*hz int*n)SLIST*p;/*found*/1 _=0;p=h-next;while(p)(*n)+;/*nd*/P=P-_2 _;)main()SLIST*head;int aN=12,87,45,32,91,16,20,48,num
50、;head=creatlist(a);outlist(head);/*Q1JpJ*/fun(_3_,&num);printf(nnumber=%dnznum);)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(The list is NULL!n);else printf(nHead);do