《二级C语言题娃娃库.pdf》由会员分享,可在线阅读,更多相关《二级C语言题娃娃库.pdf(146页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第1套题一、程序填空题给定程序的功熊是调用fu n 函数建立班级通讯录。通讯录中记承每位笺生的编号、姓名和电话容码。链级的人数和孝生的信息从键盘读入,每个人的宿息作为一个数檄夬写到名为iry fil e5.dat的二进制文件中。请在翟序的节划线斯填入正确的内容错巴下划线删除,使程序得出正确的结果。源程序存放在考生文件隽下的B LA N K1.C 中。不樨增存或删行,也不得更改程序的结构!注意:include#include#define N 5typedef struct int num;char name10;char tel 10;STYPE;void check();/*found*/i
2、nt fun(_1_STYPE_*std)(/*fu n d*/_2_FILE_*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,_3p_);fclose(fp);return(1);)main()STYPEs10=l,aaaaa,7 llllll,lzbbbbb,222222,l,cccccH,333333,l,ddddd,444444,l,eeeee;,555555;i
3、nt k;k=fun(s);if(k=l)printf(Succeed!);check();elseprintf(Fail!);)void check()FILE*fp;int i;STYPE s10;if(fp=fopen(myfile5.dat7,rb)=NULL)printf(Fail!n“);exit(O);printf(nRead file and output to screen:n);printf(n num name telnH);for(i=0;iN;i+)fread(&si,sizeof(STYPE),fp);printf(H%6d%s%sn,si.num,si.name,
4、si.tel);)fclose(fp);)二、程序改错题到改意注MO:利需序要犀当则程不n尸-.1耳勾勾.D ID1的动.中改黑1-.的序AB U n逆匕匕1、4ad.它,使数:函uD C确或是百EE正行能接丁CD出增功连CDAB9.面果,ro结好BA的那include#include void fun(char*s,char*t)int i,si;si=strlen(s);/*fu n d*/for(i=0;i=sl;i+)ti=si;for(i=0;isl;i+)tsl+i=ssl-i-l;/*f u n d*/tsl=0;(1)for(i=0;i=sl;i+)(2)t2*sl=0或 ts
5、l+sl=Omain()char s100,t100;printf(nPlease enter string s:);scanf(%s,s);fun(s,t);printf(The result is:%sn,t);三、程序编写题合并藕翳驾热幅糕盗版翩 JJX 仕 cb数的和个位数依次放在c数的百位和个位上。例如,当a=45,b=12时,调用该函数后,c=4152。注意:部分源程序存在文件PR0G1.C中。数 殿 件IN.DAT中的数据不得修改。请勿改新主函薮mai痛 其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。include void fun(int a,int b,
6、long*c)(*c=(a/10)*1000+(b/10)*100+(a%10)*10+(b%10);)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*rf,*wf;int i,a,b;long c;rf=fopen(K:k0124010001in.dat,r);wf=fopen(K:k0124010001out.
7、dat,w);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);第2套题一、程序填空题给定程序的功能是;从键盘输入若干行文本(每任不超过80个字假),写到文 件 喈 ile4.tx t电_ 用-1(独立一行)隹为字符串输入结束的标志。然后将文件的内容读出显示在屏窠上。文件的读写务别 一义函“数 Readt ext一 和 Mritefext 一实现。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程
8、序存放在考生文件旁下的BLANK1.C中。不樨增若或删行,也不偏更改程序的结构!#include#includeincludevoid 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.txtzr)=NULL)printf(open fail!n);exit(O);ReadText(fp);fclose(fp);/*found*/vo
9、id WriteText(FILE _ 1 *fw)char str81;printf(nEnter string with-1 to end:n);gets(str);while(strcmp(strzH-l)!=O)/*found*/fputs(_2_ str _,fw);fputs(n,fw);gets(str);)void ReadText(FILE*fr)char str81;printf(nRead file and output to screen:n);fgets(str,81,fr);while(!feof(fr)/*f u n d*!printf(s”,_ 3 str_);
10、fgets(str,81,fr);二、程序改错题量 S中奇数位上的数,给定程序M0DI1.C中函数fun的功能是:从低位开始取廿二.二:构成一个新数放在t 中。高位也在高位,低位例如,当s 中的数为:7654321时,t 币的数为:7531。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不椁增行或删行,也不得更改程序的结构!#include/*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*/sl=sl*100;)(1)void fun(lo
11、ng sjong*t)(2)sl=sl*10;main()long s,t;printf(nPlease enters:);scanf(%ld,&s);fun(s,&t);printf(The result is:%ldn,t);三、程序编写题学生的记录由学号和成绩组成,N名学生的数据己在主函数中放人结构体数组谓 编 海 数 f u n,它的功能是:把分数最低的学生数裾放在b断指的数组中,注意:不数最低的看生可熊不止一个,函数返回分数最低的学生的人数。注意:郃分源速序在殳住PR0G1.C文件中。请勿改协主函薮mai通 箕它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。incl
12、ude#define N 16typedef struct char num10;int s;STREC;int fun(STREC*a,STREC*b)int i/j=O/min=aO.s;for(i=0;iN;i+)(if(ai.smin)|j=O;bj+=ai;min=ai.s;else if(min=ai.s)bj+=ai;return j;main()STREC sN=GA05/85/GA03,76,GA02,69,,GA04,1,85,GA01,91,GA07,72,GA08,64,GA06,87,GA015,1,85,GA013791,GA012764/GA014,91/,GA0
13、11,91,GA017,64,GA018/64,GA016772;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=fopen(K:k0124010001out.dat,w);fprintf(out,dn“,n);for(i=0;in;i+)fprintf(out,%4dn,hi.s);fclose(out);第3套题一、程序填空题给定程序史,函数fun的 理 缝:将自然麴 1 0以及它们的平方根写到
14、名为m yfile3.tx t的文本文件中,然后再明字读出码在屏幕上。请在程序的下划会处填入正赢内容并把十划线制除,使程序得出正确的结果 注 意:源程序存放在考生文件考下的BLANK1.C中。不替增存或删行,也不容更改程序的结构!#includeincludeint fun(char FILE*fp;*fname)int i,n;float x;if(fp=fopen(fname,w)=NULL)return 0;for(i=l;i=10;i+)/*QJJp|*/fprintf(_1_z%d%fn/i/sqrt(double)i);printf(nSucceed!n);/*found*/一2;
15、printf(nThe data in file:n);/*found*Jif(fp=fopen_3_ Jr)=二 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);)二、程序改错题给定程序M0DI1.C中fun函数的功能是:翔n个无序整数从小到大排序。请改正建序中的错误,使它能空出正确的结果。注意:不要改动main函数,不容增行或删行,也不得
16、更改程序的结构!#include include void fun(int n,int*a)int i,p,t;for(j=0;j n-l;j+)P=j;/*found*Ifor(i=j+l;iai)/*found*/t=i;if(p!可)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(nnn);)main()int aa20=9,3,0,44,2,5,6,8,10,7,n=ll;printf(*nnBefore sortin
17、g%d numbers:nuz n);putarr(n,aa);fun(n,aa);printf(nAfter sorting%d numbersAn,n);putarr(n,aa);合和数方数如意勿的函的位翟请写并个编翡在45源函句褐:放a=分主语席是次当野干fur式依,:改若将十十爨丽aC耀麻豳舞位位位耨RO够曾阡r傩两的舞攵其数爵卜数此在北衔仅阳鳖=我可C数何局3任数。入改填修中膏方不括据花数的的皿1.*L&-&-a1 include void fun(int a,int b,long*c)main()int a,b;long c;void NONO();printf(lnput a b
18、:);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-JT);wf=fopenCKAXkOlWAOlOOOlWout.dat;);for(i=0;i 10;i+)fscanf(rt%d,%d,&a,&b);fun(a,b,&c);fprintf(wf,a=%d,b=%d,c=%ldnz a,b,c);)fcl
19、ose(rf);fclose(wf);第4套题-、程序填空题给定程序的功能是:.主函数中源文件名放在变量sfname,目标文件名:里 tfname 中。请在程序南下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源矍序存放在考生文件隽下的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=fopen(target,w)=NULL)
20、return 0;printf(nThe data in file:n);ch=fgetc(fs);/*nd*/while(!feof(_2_)putchar(ch);/*found*/fputc(ch,_ 3 _);ch=fgetc(fs);)fclose(fs);fclose(ft);printf(nn);return 1;main()char sfname20=myfilel,tfname20=myfile2K;FILE*myf;int i;char c;myf=fopen(sfname,w);printf(nThe original data:n);for(i=l;i30;i+)c=A
21、,+rand()%25;fprintf(myf,%c,c);printf(”c”,c);fclose(myf);printf(nnH);if(fun(sfname,tfname)printf(Succeed!);else printf(Fail!);)二、程序改错题次取出,番 定 噩 誓 遇 翳 得 鬻 蠹 霸 蛰 麒 蕾 上 为 偶 数 的 数 依例如,当s中的数为;87653142时,1例 数 为:8642。请改正程序中的错误,使它能黄出正确的结果。注意:不要改动main函数,不襟增行或删行,也不得更改程序的结构!include void fun(long s,long*t)int d;l
22、ong 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*/s=10;)main()long s,t;printf(nPlease enter s:);scanf(%ld,&s);fun(s,&t);printf(The result is:%ldn,t);三、程序编写题函数fu n 的功能是:将s所指数的字符外,其余的全都删除;串中。.例如,若s所指字符串中的内容为:A B C D E F G 12345 6”,其中字符A 的A SC I I 码值为奇数,因此应当删除;其中学将B 的A SC H
23、码值为偶数,但在数姐中的下标为寄数,因此也应当删除;而手机的A SC I I 租值为得数,所在数组中的下标也为偶薮,因此不应当删除,其它标曲类推。最后t所指的数组中的内容应是:246”。注意:部分源程序存在文件PR0 G 1.C 中。请勿改勃主函薮m ai丽 其它函数中的任何内容,仅在函数fu n 的花括号中填入你编写的若干语句。#include#include void fun(char*sz char t)main()(char s100,t100;void NONO();printf(nnPlease enter string S:);scanf(%sH,s);fun(s,t);prin
24、tf(nThe result is:%sn,t);NONO();)void NONO()/*本函数用于打开档,输入数据,调用函数,输出数据,关闭档。*/char s100,t100;FILE*rf,*wf;int i;rf=fopen(,K:k0124010001in.dat,rH);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套题一、程序填空题中到。域入果定数表在给的链请盘据正带函数入个。点填一套
25、处立链各线建寿划己4下序递,序M的的fur域确点坡值内士口&表既党链4下序删需。中的各结点按结点数瑁值放入一个新结点并据,使程序得出正确的结放或序增顺序乩程的改下更I文也生,考行在删中构C吉11nv意注S#include include#define 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);/*f u n d*Is-data=_1_;q=h;p=h-next;while(p!=NULL&xp
26、-data)/*found*/q=一2 _;p=p-next;s-next=p;/*found*/q-next=_ 3_;)SU ST*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 printf(-%d,p-da
27、ta);p=p-next;while(p!=NULL);printf(-Endn);)main()SLIST*head;int x;int aN=ll,12,15,18,19,22,25,29);head=creatlist(a);printf(MnThe list before inserting:nH);outlist(head);printf(nEnter a number:);scanf(H%d,&x);fun(head,x);printf(nThe list after inserting:n);outlist(head);)二、程序改错题给定程序M OD I 1.C 中函数fu n
28、 的功能是:V,_ _ 正 _ 整 _ 数 _n_u_m_的_ 各 _ 位 _ 上 _.的.数.字.之积。例如,若辎入:25 2,则蓊出应该是:20。若输入:20 2,则输出应该是:0。请改正程序中的错鼠使它能道出正确的结果。H 立注意:不要改动m ain 函数,不擦增行或删行,也不得更改程序的结构!#include long fun(long num)/*-fQ|JpJ*/long k;dok*=num%10;/*found*/num=10;while(num);return(k);main()long n;printf(nPlease enter a number:);scanf(%ld,
29、&n);printf(n%ldn,fun(n);)三、程序编写题遭编写一个函数fu n,它的功能是:计算n 门课程的平均分,计算结果作为函数值遢回。例如:若有5 门 膜 的 成 绩 是,9 0.5,7 2,8 0,6 1.5,5 5则菌数命值为:7 1.8 0。注意:部分源程摩存在文件PR0 G 1.C 中。请勿改为主函薮m ai湎 其它函数中的任何内容,仅在函数fu n 的花括号中填入你编写的若干语句。include float fun(float*a,int n)main()float score30=90.5,72,80,61.5,55,aver;void NONO();aver=fun
30、(score,5);printf(nAverage score is:%5.2fn,aver);NONO();void NONO()/*本函数用于打开档,输入数据,调用函数,输出数据,关闭档。*/FILE*fp,*wf;int i,j;float aver,score5;fp=fopen(K:k0124010001in.dat,rn);wf=fopenCKAXkOlWAOlOOOlWout.dat;);for(i=0;i 10;i+)for(j=0;j 5;j+)fscanf(fp,%fz*z&scorej);aver=fun(score,5);fprintf(wf,%5.2fn,aver);
31、fclose(fp);fclose(wf);第6套题-、程序填空题给定型序中己建立一个带有兴结点的单向链表在main函数中将多次叫曲fun函数,每制用一次fun函数,输出锭表尾部结点中苗数据,并释放该如舄隹链表缩短。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果 注意:源程序存放在考生文件隽下的BLANK1.C中。不容增忏或删行,也不得更改程序的结构!include#include#define N 8typedef struct list int data;struct list*next;SLIST;void fun(SLIST*p)SLIST*t,*s;t=p-ne
32、xt;s=p;while(t-next!=NULL)S=t;/*found*/t=t-1;)/*f u n d*/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=O;return h;)void outlist(SLIST*h)SLIST*p;p=h-next;if(p=NULL)printf(nThe list is NULL!n)
33、;else printf(nHeadn);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);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);outli
34、st(head);)二、程序改错题给定程序M OD I 1.C 中函数fu n 的功能是:将字符串中的字符按逆序输出,但不改变字符串中的内务例如,若空符串为abed,则应输出:deba。请改正程存中篇错误二-注意:不嚏我动m ain 函数,不得更改程序的结构!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);)提则供返写字一,将:改若编求第如数意勿的请的回例函注请写个更文回分主语ful的
35、。ganh它.。在.回是返功函江数PR函1匕文其C&-L中比较中两的个字串。的若度个长两不符得串吾振CXT-符个置3的符,(字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=f
36、open(K:k0124010001in.dat;rH);wf 二 fopen(”K:k0124010001out.dat“Jw”);for(i=0;i 10;i+)fscanf(fp,%s%s,a,b);fprintf(wf,%snnz fun(a,b);)fclose(fp);fclose(wf);第7套题一、程序填空题给定冠序中己建立一个带有头结点的单向链表,链表中的各结点按数强域递樊有序链接函数fu n 的功能是:删除链表中数据域值相同的结点,使之只模留一1 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件房下的B LA N Kl.C 中
37、。不想增忏或删行,也不编更改程序的结构!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 _);/*f u n d*/q=p-一2一;)elsep=q;/*found*/q=q-一3 _;)SLIST*creatlist(int*a)SLIST*h,*p,
38、*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!nH);else printf(nHead);do printf(-%d,p-data);p=p-next;while(p!=NULL);printf(-Endn);)main()SLIST*head;int aN=l,2,2,3,4,4,4,5;head=creatli
39、st(a);printf(nThe list before deleting:n);outlist(head);fun(head);printf(nThe list after deleting:nH);outlist(head);二、程序改错题的功L。的动D I居改Mo背要序一覆不程进改.给顺请注果,结行的珊确和正行出增tw匕匕一、育彳它,使数,函误in错Ina的中元素include#define N 20void fun(int az int n)int i,j,t,p;for(j=0;j n-1;j+)/*QjJp J*/P=jfor(i=j+l;i n;i+)if(ai ap)/*u
40、n d*jP=J;t=ap;ap=aj;aj=t;)main()intaN=9,6,8,3,-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 zail);printf(n);三、程序编写题请编写一个函数f u n,它的功熊是:求出1整数放在数组a中,通过超回这些数的个数。输出:富樱寓翻嬖第馥7 11 14 21 22 28 33 35 42 44 49注意:部分源程序存在文件PR0G1.C中。请勿改易)主函薮mai丽
41、其它函数中的任何内容,仅在函数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:k0124010001i
42、n.dat,r);wf=fopen(K:k0124010001out.datzw);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,%dnHz sum);fclose(fp);fclose(wf);第8套题一、程序填空题给定程序中,函数fu n的功熊是:在差亘头结点的单向链表为ch的 塞 友 找到后通过函教值返回孩基点在链表因所处的为ch的结点,函数返回。值。:中,查找数顺 序 号;若果。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结注意:源程序存放在考生
43、文件痔下的B LA N K1.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;/*fu n d*/while(p!=_ 1_)n+;/*found*/if(p-data=ch)return_2_;else p=p-next;)return 0;main()SL
44、IST*head;int k;char ch;char alNlm/p/g/a/w/x/r/d;head=creatlist(a);outlist(head);printf(Enter a letter:);scanf(%c,&ch);/*found*/k=fun(-3-);if(k=0)printf(nNot found!n);else printf(The sequence number is:%dnzk);)SU ST*creatlist(char*a)SLIST*h,*p,*q;int i;h=p=(SLIST*)malloc(sizeof(SLIST);for(i=0;idata=a
45、i;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);二、程序改错题给定程序M OD I 1.C 中函数fu n 的功能是:删除p 所指字符串中的所有空白字符(包括制歙鬻爵鳄翦钙卷改正盘吞中的错误,使七能揄出正确的结果。注意:不要改动m ain 函数,不得增行或删行,也不得
46、更改程序的结构!#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;/*found*/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);三、程序编写题请编写一个函数fu n,它的功能是:将ss近指字符串中所有下标为奇数位置上的字母
47、转换为大写(若该位置上不是字母,则聚居换)。例如,若输入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(t t);printf(nnAfter changing,the stringn t t);fun(t t);print
48、f(Hnbecomesn s”n,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,tt);fun(tt);fprintf(wf,%sn,tt);)fclose(fp);fclose(wf);第9套题一、程序填空题给定程序中&函数fu n 的功能是:统计出带有头结点的单向链表中结点的个数,存放在形参所
49、指的存储单元中。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果 注 意:源程序存放在考生文件考下的B LA N K1.C 中。不容增后或删行,也不得更改程序的结构!#include#include#define N 8typedef struct list int data;struct list*next;SLIST;SU ST*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*IP=P-_
50、2 _;)main()SLIST*head;int aN=12,87,45,32,91,16,20,48,num;head=creatlist(a);outlist(head);/*fu n d*Ifun(_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;)void outlist(SLIST*h)SLIST*p;p=h-next