二级C语言上机题库3

二级C语言上机题库3

ID:83017017

大小:265.68 KB

页数:119页

时间:2023-09-19

上传者:灯火阑珊2019
二级C语言上机题库3_第1页
二级C语言上机题库3_第2页
二级C语言上机题库3_第3页
二级C语言上机题库3_第4页
二级C语言上机题库3_第5页
二级C语言上机题库3_第6页
二级C语言上机题库3_第7页
二级C语言上机题库3_第8页
二级C语言上机题库3_第9页
二级C语言上机题库3_第10页
资源描述:

《二级C语言上机题库3》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1答案:LSTYP2.FILE3.fp答案:1.for(i=0;i

1请编写一个函数fun,它的功能是:计算n门课程的平均分,计算结果作为函数值退回。例如:若有5门课程的成绩是:90.5,72,80,61.5,55则菌致的版瓦71.80。注意:部分源程序存在文件PROG1.C中。请勿改务主函薮mai丽]其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。inti;floatave=0.0;fbr(i=0;idata3.t答案:l.fun(char*a2.printf(it%c,\*a);供返提则数度串ijan募。函长符besh源函句个费又回分主语-符个鬟野干写字一,将:改若编求第如数意勿的请的回例函注请写fu的。的它.-s)z功函.•回是返匕匕攵的若,(字英长两得串不符语胴inti;char*p=s,*q=t;for(i=0;*p&&*q;i++){p++;q++;)if(*p==0&&*q==0)returns;if(*p)returns;elsereturnt;}第七套答案:I.q2.next3.next答案:l.p=j;2.p=i;请编用一个函数fun,它的功熊是:求出甲Jm之i强含m)能被7或11整除的房有整数放在莪组冲,通过越回这些数的个数。的如,者传送给m的值为50,则程序输出:711142122283335424449注意:部分源程序存在文件PR0G1.C中。请勿改协主函薮mai向]其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。inti;*n=0;for(i=7;i<=m;i++)

2if((i%7==0)II(i%11==0))a[(*n)++]=i;第九套函数fun的功能是:将s所指数的字符外,其余的全都删除;串中。一热偶弟工回的一个新串答案:l.*n2.next3.head答案:l.a=02.if(*r==*p)例如,若s所指字符串中的内容为:"ABCDEFG123456”,其史字符A的ASCIR3值为奇数,因此应当删除;其中翔B的ASCII码值为偶数,但在数组中的下标为奇数,因此也应当删除;而手存2的ASCII福值为偶数,所在数组中的下标也为偶S,因此不应当删需其它盖屁类推。最看t所指的数组中的内容应是:"246”。8s:部分源程序荐在文南ROG1.C审。请勿改易主函薮mai通]其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。inti,j=0;for(i=0;i

3函数fun的功熊是:将s所指字符串中ASCH值为偶数的字符删除,串中剩余字符形点一个新串放在t所指的聂组史。例如,若s所指字符串中网内容为:"ABCDEFG12345”,事中字符B的ASCII科值为偶纵…、室特2的ASCH同役为偶数、…都应当删除,其它依此类推。最后t所指周数组中的内容应是:"ACEG135”。注意:部分源程序存在文件PR0G1.C中。请勿改到主函薮mai/口其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。答案:#include#includevoidfun(char*s,chart[])(inti,j=0;for(i=0;i

4PleaseenterstringS:H);scanf(”%s",s);fun(s,t);printf(n

5Theresultis:%s

6u,t);NONO();NONO(){/*±%°-EyOAOUzdiaIA^|)£--EaEeEy%Y£--pEy£-.Ea3dEy%Y£-.10±OIAI41)i£*/chars(lOOJ,tllOO];FILE*rf,*wf;inti;rf=fopen("C:\\WEXAM\\24990001\\in.dat”,T);wf=fopen(,,C:\\WEXAM\\24990001\\out.dat,',Hwn);for(i=0;i<10;i++){fscanf(rf,,'%sn,s);fun(s,t);fprintf(wf,"%s

7",t);)fclose(rf);fclose(wf);

8第十二套答案:l.std[i].year2.std[i]3.n答案:UsPrime(intn)2.if(!(n%i))中。已知学生的记录由学芍和学习成绩构成,N名学生的数据已存入结构体数组a请编写函数fun,函破的功熊是:找出成绩最圆的学生记录,通过形参指针(规定只有一个最高存)。已给出函数的曾部,请完成该函数。部分源程序存在文件PR0G1.C中。其它函数中的任何内容,仅在函数fun的花括号中填入传回王的请勿改动主函去你编写的若干语句。#include#include#defineN10typedefstructss{charnum[10];ints;}STU;fun(STUa[],STU*s)(inti,max=a[0].s,j=0;for(i=1;i

9u);for(i=0;i

10n,a[i].num,a[i].s);fun(a,&m);printf(H*****THERESULT*****

11M);printf("Thetop:%s,%d

12",m.num,m.s);NONO();)NONO(){/*±%°-EyOAdUOtaiA^|)£-.EaEeEy%Y£--|j4<>Ao-Ey£^E^6Ey3AY£^0±O\A%^£*/HLE*rf,*wf;STUa[N],m;inti;

13rf=fopen("C:\\WEXAM\\24990001\\in.dat,T');wf=fopen("C:\\WEXAM\\24990001\\out.dal“Jw”);for(i=0;i<10;i++)fscanf(rf,**%s%dH,a[i].num,&a[i].s);fun(a,&m);fprintf(wf,"Thetop:%s,%d

14M,m.num,m.s);fclose(rf);fclose(wf);第十三套答案:1.STU2.scoreli]3.&std答案:1.if(k>0)2.elseif(k==0)程序定义了NXN的二维数组,并在主函数中自动赋值。请编写函数fun(inta[][N],intn),函数的功能是:使数呈左下三角元素中的值乘以n。例如:若n的值为3,a数组中的值为397698121518仅在函数fun的花括号中填入197a=238则返回主程序后破组中的值应为456注意:鄙分源拶序存在文件PR0G1.C中。请勿改副主函薇maiM口其它函数中的任何内容,你编写的若干语句。#include#include#defineN5intfun(inta[][N],intn)(inti,j;for(i=0;i

15n);for(i=0;ivN;i++){for(j=0;j

16M);)don=rand()%10;while(n>=3);printf("n=%4d

17",n);fun(a,n);printf("*****THERESULT*****

18M);for(i=0;i

19,');}NONO();

20NONO(){/*±%°-EyOAOUOi^A^hf-nEaEeEy%Yf-iiJT-OA0-Ey£-.Ea3dEy%Y£-i10±dlA%|)i£*/FILE*rf,*wf;inti,j,n,a[5][5];rf=fopen(uC:\\WEXAM\\24990001\\in.datn,MrH);wf=fopen("C:\\WEXAM\\24990001\\out.dat“,“w");for(i=0;i<5;i++)for(j=0;j<5;j++)fscanf(rf,n%d“,&a[i]|j]);fscanf(rf,&n);fun(a,n);for(i=0;i<5;i++){for(j=0;j<5;j++)fprintf(wf,n%4dn,a[i][j]);fprintf(wf,"

21H);}fclose(rf);fclose(wf);}第十四套答案:l.*std2.PERSON3.stdLintk,q,i;2.pt[i]=str[k][i];程序定义了NXN的二维数组,并在主函数中自动赋值。请编写函数fun(int函数内功能是:使数组左下三角元素中的值全部置成0。例如:a数组中的值为a=238则返回主程序后破组中的值应为00456000注意:部分源程序存在文件PR0G1.C中。请勿改另]主函薮main^J其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include#include#defineN5intfun(inta[][N])(inti,j;for(i=0;i

22**);for(i=0;i

23{for(j=O;j

24M);}fun(a);printf(叮HERESULT

25M);for(i=0;i

26n);)NONO();NONO(){/*±%°-Ey6A6u^aiA^^f-iEaEcEy%YE-iiJ^OA0-Ey£-.Ea3dEy%Y£-«10±dlA14J)i£*/HLE*rf,*wf;inti,j,a[5][5];rf=fopen(',C:\\WEXAM\\24990001\\in.datM,',rn);wf=fopen(MC:\\WEXAMW24990001\\out.dat,,;,wn);for(i=0;i<5;i-H-)for(j=0;j<5;j++)fscanf(rf,n%dn,&a[i][j]);fun(a);for(i=0;i<5;i++){for(j=0;j<5;j++)fprintf(wf,M%4dn,a[i][j]);fprintf(wf,u

27n);)fclose(rf);fclose(wf);)第十五套答案:l.*std2.std[i].age3.max.name答案:l.voidfun(int*a,int*b)2.t=*b;*b=*a;*a=t;

28二数住且一,数:改若编组的意勿的亶果请写个求己野干数二主源函句函出在分主语维函菱数数序ma-T-3夕3ri?Paln・烦数PR函一匕其中.,并疑吃牖驾会鞭嚼,仅在函数fun的花括号中填入#include#defineM3#defineN4voidfun(inttl[M][N],intpp[N])(intij,min,k;for(i=0;itt[j][i]){min=tt[j][i];main(){intt[M][N]={{22,45,56,30),{19,33,45,38},{20,22,66,40}};intp[N],i,j,k;printf("Theoriginaldatais:

29");for(i=0;i

30°);for(k=0;k

31n);NONO();NONO(){/*(;eOUEyAU^,aIA1A|?£-'EaEe2aEOEy%Y£->p4-6Afun^Eyf--雹3。的%丫£T0±OiA%E£*/

32inti,j,k,m,t[M][N],p[N];FILE*rf,*wf;rf=fopen(',C:\\WEXAM\\2499000l\\in.datM,Hr");wf=fopen(HC:\\WEXAM\\24990001\\out.dat,,;,w'');for(m=0;m<10;m++){for(i=0;i

33");)fclose(rf);fclose(w0;第十六套答案:l.tt2.tt.score[i]3.std答案:l.m=i;2.if(a[k]>a[m])m=k;号整回。写一个函数unsignedfun(unsignedw),w是一个大于10的无符者w是n(n>2)位的整数,函数求出w的低n-1位的数作为函数值返例如:w值为5923,则函数返回923;w值为923则函数返回23。注意:部分源程序存在文件PR0G1.C中。请勿改副主函薮mai通]其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#includeunsignedfun(unsignedw)if(w>10000)w%=10000;elseif(w>1000)w%=1000;elseif(w>100)w%=100;elseif(w>10)w%=10;returnw;main(){unsignedx;printf("Enteraunsignedintegernumber:");scanf("%u”,&x);printf("Theoriginaldatais:%u

34",x);if(x<10)printf("Dataerror!M);elseprintf("Theresult:%u

35",fun(x));NONO();NONO(){/*^eOUT.0-EyAU^aiA%|j£--EaEe2aEdEy%Y£-'p-?6Afun^Ey£->

36Ea36Ey%Y£-i«0±diA%|)j£*/unsignedx;inti;FILE*rf,*wf;rf=fopen(',C:\\WEXAM\\24990001\\in.dat,';,r");wf=fopen(,,C:\\WEXAM\\24990001\\out.dat,,,Mwn);fbr(i=0;i<20;i++){fscanf(rf,*'%u",&x);fprintf(wf,"%u

37'\fun(x));)fclose(rf);fclose(wf);第十七套答案:l.i+12.k=j3.t答案:l.voidfun(char*str,charch)2.if(*str!=ch)3.str[l]=O;请编一个函数fun(char*s),函数的功能是把s所指字符串中的内容逆置。例如:字货串中虞宥的字符里为:abcdefg,对调用该届数后,里史的内容为:gfedcba。注最:部分源程序存在文柞PR0G1.C中。请勿改副主函薮mai痛]其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include#include#defineN81fun(char*s)charb[N];inti=0,j;memset(b,0,N);for(j=strlen(s)-1;j>=0;j—)b[i++]=s[j];strcpy(s,b);}main(){chara[N];printf("Enterastring:");gets(a);

38pnntf(Theoriginalstringis:);puts(a);fun(a);printf(M

39M);printf(nThestringaftermodified:");puts(a);NONO();)NONO(){/*^eOUEyAUA,4!?£-'EaEe2aEdEy%Y£-'p^6Afun^Eyf-Ea%Ey^Yf-i'O^iA^jf*/inti;chara[N];FILE*rf,*wf;rf=fopen("C:\\WEXAM\\24990001\\in.dalYT');wf=fopen("C:\\WEXAM\\24990001\\out.dat",“w“);for(i=0;i<10;i++){fscanf(rf,n%sn,a);fun(a);fprintf(wf,n%s

40",a);}fclose(rf);fclose(wf);}第十八套答案:l.k2.1en3.ss[i][j]答案:l.result*=(double)n・・;2.returnresult;数写执上入干函«:盘输:改若写、&委忠勿的编大若%注请写n不时入字源函句fur按一分主语功.一处符将文胸符字:n圣a一攵符在序ma是匕匕:出不0G函。为帛PR它理串则串玄灯。灯Jrb^^s中tua后存L数。勺的antu字何字drb符内串rlc照,符bo。串容intfun(chars[J,charc)char*p=s;inti=0;while(*p){if(*p!=c)s[i++]=*p;

41P++;)s[i]=O;main()(staticcharstr[]="turbocandBorlandC++”;charch;printf(,,d-E14xduz®:%s

42n,str);printfC'EaEed»5dxda:n);scanf(n%c",&ch);fun(str,ch);printf(Mstr[]=%s

43,',str);NONO();)NONO()(/*(;eOUTTEyAU^aiA%|)£-.EaEe2aEdEy%Y£->p^6AfunEa^Ey^Yf-^IOlOiA^jf*/FILE*rf,*wf;chars[81],ch,w;intlen;rf=fopen(',C:\\WEXAM\\24990001\\in.dat,',nrn);wf=fopen(,,C:\\WEXAM\\2499000l\\out.dat,';,wH);fgets(s,80,rf);fscanf(rf,n%c'\&ch);len=strlen(s)-1;w=s[len];if(w=

44”lw==Oxla)s[len]=0;fun(s,ch);fprintf(wf,"%s",s);fclose(rf);fclose(wf);第十九套答案:Lss[i]2.n+j3.1答案:l.if(*p=…)2,*(p-1)=toupper(*(p-1));廿4请编写函数un一对长度为7个字符的字符串,除首、尾字符外,将其余5个字符按ASCII码F黔排列。例如,原来的宝符更为CEAedca,排序后输出为CedcEAa。注意:郎》源程序程文件PR0G1.C中。

45请勿改凝主函薮mai丽]箕它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include#include#includeintfun(char*s,intnum)(charch;inti,j;for(i=1;i<6;i++)for(j=i+1;j<6;j++){if(*(s+i)<*(s+j)){ch=*(s+j);*(s+j)=*(s+i);*(s4-i)=ch;main()(chars[10];printfC'EaEeV^xdupAxOu'®:");gets(s);fun(s,7);printf(M

46%sM,s);NONO();)NONO()(/*^eOUT0-EyAUo^aIA%t)£-iEaEe2aEdEy%Y£-.pAfun°一直舛rEa3d£y%Y£-.,0±OiA141)j£*/chars[10];FILE*rf,*wf;inti=0;rf=fopen(',C:\\WEXAM\\24990001\\in.dat";,rH);wf=fopen(,,C:\\WEXAM\\2499000l\\out.dat,'?,wn);while(i<10){fgets(s,10,rf);s[7]=0;fun(s,7);fprintf(wf,"%s

47",s);i++;}fclose(rf);fclose(wf);

48)第二十套答案:l.(N]2.1en3.*n=len答案:2.returnt;编写一个函数,该函数可以统计一个长度为2的字符串在另一个字符串中出现的次数。例如,假定输入的字符串为:asdasasdfgasdaszx67asdmklo,子字符串为:as,则应输出6。注意:邯分源程序在文件PR0G1.C中。请勿改动主函薮其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include#includeintfun(char*str,char*substr)(intent=0;char*p=str,*q;while(*p){q=strstr(p,substr);if(q==NULL)break;p=q+strlen(substr);cnt++;)returnent;main()(charstr[81],substr[3];intn;printf("EaEeO4-xOuz®:");gets(str);printf("EaEexOxOu,@:");gets(substr);puts(str);puts(substr);n=fun(str,substr);printf(',n=%d

49,

50);NONO();)NONO()(/*CeOUEyAUoi,aIAWJjf-'EaEe^EdEy%Y£-(j-?6Afun所Ea3ofey^Yf-.10±OIA%t)i£*/charstr[81],substr[3],ch;intn,len,i=0;FILE*rf,*wf;

51rf=fopen("C:\\WEXAM\\24990001\\in.dat",T);wf=fopen(',C:\\WEXAM\\24990001\\out.dat,,;,wH);while(i<5){fgets(str,80,rf);fgets(substr,10,rf);len=strlen(substr)-1;ch=substr[len];if(ch==An'IIch==Oxla)substr[len]=0;n=fun(str,substr);fprintf(wf,"%d

52u,n);i++;)fclose(rf);fclose(wf);答案:l.M2.<3.k答案:l.if(Ca,<=tt[i])&&(tt[i]<=z,))2.tt[i]-=32;请编写函数fun,其功能是:将所有大于1小于整数m的非素数存入xx所指数组中,菲素敦的个数通过k传回。例如,若输入:17,则应输出:46891012141516。注意:弱分源程存在文件PR0G1.C中。请勿改副主函薮mai痛]箕它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#includeintisP(intm)intj,tag=0;for(j=2;j

53main()(intm,n,zz[100];printf(n

54Pleaseenteranintegernumberbetween10and100:");scanf("%d”,&n);fun(n,&m,zz);printf(H

55

56Thereare%dnon-primenumberslessthan%d:M,m,n);for(n=0;n

57%4d",zz[nj);NONO();}NONO()(/*^eOU,E0-EyAUoi,aiA%t>£--EaEe2aEdEy%Y£-,p-?6Afun°-Ey£->Ea3dEy%Y£-n*0±OiA,4|>j£*/intm,n,zz[100J;FILE*rf,*wf;rf=fopen(nC:\\WEXAM\\24990001\\in.datn,V);wf=fopen(HC:\\WEXAM\\24990001\\out.datu;'wn);fscanf(rf,"%d”,&n);fun(n,&m,zz);fprintf(wf,"%d

58%d

59",m,n);for(n=0;n

60M,zz[n]);fclose(rf);fclose(wf);第二十二套答案:l.j++2.s[i]=tl[i]3.j答案:l.for(j=i+l;jv6;j++)2.*(pstr+i)=*(pstr+j)请编写函数fun,它的功能是:求出ss所指字符串中指定字符的个数,并返回此值。例如,若输入字垂串:123412132,输入字符为:1,则输出注意:邯分源程序在文件PR0G1.神。请勿改副主函薮maiM口箕它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include#include#defineM81intfun(char*ss,charc)(intent=0;char*p=ss;

61while(*p){if(*p==c)cnt++;p++;)returnent;main(){chara[M],ch;printf(M

62Pleaseenterastring:u);gets(a);printf("

63Pleaseenterachar:°);ch=getchar();printf("

64Thenumberofthecharis:%d

65",fun(a,ch));NONO();)NONO(){/*±%°-EyOAdUOtaiA1^£-.EaEe2aEOEy%Y£-.M^6Afun°-Ey£-.Ea3dEy%Y£-.,0±dlA^l)i£*/inti;FILE*rf,*wf;chara[M],b[M],ch;

66rf=fopen(℃:\\WEXAM\\24990001\\in.dat'V,rn);wf=fopen(nC:\\WEXAM\\24990001\\out.dat,,;,wu);for(i=0;i<10;i++){fscanf(rfa);fscanf(rf,"%s",b);ch=*b;fprintf(wf,"%c=%d

67n,ch,fun(a,ch));}fclose(rf);fclose(wf);第二十三套答案:1.&&2.03.sU]答案:1.for(i=2;i<=m;i++)2.y+=1.0/i/i;请编写函数fun,函数的功能是:霁现B=A+A',即把矩阵Mn上A的转置,存放-1,函数中输出。在矩阵B中。计算结果在例如,输入下面的矩阵:main程序输出:其转置矩阵为:1472583691061014101418注意:部分源程序在文件PR0G1.C中。请勿改己)主函薮mai丽]其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#includevoidfun(inta[3][3],intb[3][3])(intcl3][3J;inti,j;for(i=0;iv3;i++)for(j=0;j<3;j++){c[i][j]=a[j][i];/*^OOdpA^OA*/bliJUJ-aliJUJ+cliJUl;main()/*O-=-3IDb*/

68{inta[3][3]={{1,2,3},{4,5,6},{7,8,9}},t[3][3];inti,j;fun(a,t);for(i=0;i<3;i++){for(j=O;j<3;j++)printf(M%7dM,t[i][j]);printf(n

69H);)NONO();NONO(){/*±%°-EyOAdU06aIA^|)£-1EaEe2aEOEy%Y£-.|j^6Afun0-Ey£-iEa36Ey%Y£-.,0±diA%|?i£*/inti,j,k,a[3][3],t[3][3];HLE*rf,*wf;rf=fopen("C:\\WEXAM\\24990001\\in.dal",T');wf=fopen("C:\\WEXAM\\24990001\\out.dat"Jw“);for(k=0;k<5;k++){for(i=0;i<3;i++)fscanf(rf,H%d%d%d”,&a[i][0],&a[i][l],&a[i][2]);fun(a,t);for(i=0;i<3;i++){for(j=0;j<3;j++)fprintf(wf,H%7d';t[i][j]);fprintf(wf,M

70n);)}fclose(rf);fclose(wf);第二十四套答案:Ls[i]2.93.*t=n答案:l.t=*x;*x=y;7或11整除、但不2.returnt;的数组中,通过n返回这请编写函数fun,它的功能是:求出1到1000之I熊同年破7和11整除的所有整数并将它们就在新指日辿数的茶数。注意:部分源瞿序在文件PR0G1.C中。请勿改副主函薮mai血]箕它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#includevoidfun(int*a,int*n)(

71inti;*n=0;for(i=7;i<1000;i++)if(((i%7)==0II(i%11)=0)&&(i%77)!=0)a[(*n)++]=i;main(){intaa[1000],n,k;fun(aa,&n);for(k=0;k

72H);elseprintf(H%5d'\aa[k]);NONO();NONO()(/*±%o-Ey6A6U,di,aiA^l)£-'EaEe2aEdEy%Y£-p44Afuno-Ey£-'Ea3bEy%Y£-',0±diA1zi|)i£*/intaa[1000],n,k;HLE*fp;fp=fopen("C:\\WEXAM\\24990001\\out.dat“Jw“);fun(aa,&n);for(k=0;k

73M);elsefprintf(fp,M%5dH,aa[k]);fclose(fp);}第二十五套答案:1.12.s[k]3.c答案:l.longs=0,t=0;2.t=t/10;请编写一个函数voidfun(char*tt,intpp[]),统计在tt所指字符串中5a到Y26个小用字母各自出现的次数,并依次放在左所指数组史。而J如,当输入字待串:abcdefgabcdeaBc后,程序的输出结果应核是:33322110000000000000000000注意:部分源程序在文件PR0G1.C中。请勿改副主函薮mai痛]箕它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include#includevoidfun(char*tt,intpp[])(

74char*p=tt;inti;for(i=0;i<26;i++)pp[i]=0;while(*p){if(*p>=*a*&&*p<=*z')pp[*p-*a*]+=1;P++;main(){charaa[1000];intbb[26],k,n;printf(n

75Pleaseenteracharstring:*');scanf("%s",aa);fun(aa,bb);for(k=0;k<26;k++)printf("%d”,bb[k]);printf(“

76");NONO();}NONO(){/*±%°-EyOAOUO6aiA%15£-lEaEe2aEOEy%Y£->p^6Afun°-Ey£->Ea36Ey%Y£->,0±diA1/4t)i£*/charaa[1000];intbb[26J,k,n,i;FILE*rf,*wf;rf=fopen("C:\\WEXAM\\24990001\\in.datYT');wf=fopen(,,C:\\WEXAM\\24990001\\out.dat,,,Mwn);for(i=0;i<10;i++){fscanf(rf,n%sn,aa);fun(aa,bb);for(k=0;k<26;k++)fprintf(wf,H%d=bb[kj);fprintf(wf,"

77H);)fclose(rf);fclose(wf);第二十六套答案:l.t=i2.i3.0答案:1.while((fabs(t))>=num)2.t=s/n;请编写一个函数voidfun(chara[],charb[],intn),其功能是:删除一

78个呈符用中指定下标的字俭其中l罐向原字符串,删除指定字符后的字将串存放在丽旨的数组中,n中存放指定的下标。例如,穗入一不字得串:World,庭后输入3,则调用该函数后的结果为:Word。注意:部分源矍序在文件PR0G1.C中。请勿改副主函薮mai痛]箕它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include#include#defineLEN20voidfun(chara[],charb[],intn)(stmcpy(b,a,n);b[n]=0;strcat(b,a+n+1);main(){charstrl[LEN],str2[LEN];intn;printf(HEnterthestring:

79H);gets(strl);printf(MEnterthepositionofthestringdeleted:*');scanf(H%dH,&n);fun(strl,str2,n);printf(HThenewstringis:%s

80°,str2);NONO();)NONO(){/*±%°-EyOAOUo^aiA%|)£--EaEe2aEOEy%Y£--p^6Afun0-Ey£-.Ea3dEy%Y£-.,0±dlA1^l)i£*/charstrl[LEN],str2[LEN];inti,n;FILE*rf,*wf;rf=fopen(',C:\\WEXAM\\24990001\\in.datM,',rn);wf=fopen(MC:\\WEXAMW24990001\\out.dat,,;,wn);for(i=0;i<10;i++){fscanf(rf,"%s%d",strl,&n);fun(strl,str2,n);fprintf(wf,"%s

81M,str2);}fclose(rf);fclose(wf);

82第二十七套答案:L02.03.c答案:1.doublesum=0.0;2.sum/=c;编写函数fun,函数的功能是:根据以下公式计算s,计算结果作为函数值返回;n通过形参传人。111S=1+—++・・・+1+21+2+31+2+3+.・・+n例如:若n的值为11时,函数的值为:1.833333性意:部分源程序在文件PR0G1.C中。请勿改勃主函薮mai通]箕它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#includefloatfun(intn)(inti,j,t;floats=0;for(i=l;i<=n;i++){t=0;for(j=l;j<=i;j++)t+=j;s=s+L/t;}returns;)main(){intn;floats;printf(n

83PleaseenterN:");scanf("%d",&n);s=fun(n);printf("theresultis:%f

84H,s);NONO();

85NONO(){/*±%°-Ey6AOUzd6aiAm)£-nEaEeEy%Y£--p^6Ao-Ey£-iEa36Ey%Y£-110±OIA%|)i£*/FILE*fp,*wf;inti,n;floats;fp=fopen(nC:\\WEXAM\\24990001\\in.dat,,;,rM);wf=fopen(MC:\\WEXAM\\24990001\\out.dat,\MwH);for(i=0;i<10;i++){fscanf(fp,H%d",&n);s=fun(n);fprintf(wf,"%f

86H,s);)fclose(fp);fclose(wf);)第二十八套答案:l.i++2.m3.m答案:1.while((2<=high)&&(n<10))2.yes=0;break;编写函数fun,它的功能是:利用以下所示的简单迭代方法求方程:cos(x"x=6的一个卖粮。Xn+l=COS(Xn)迭代步骤如下:Q取X1初值为o.0;2)x0=xl,把xl的值赋给x0;3)xl=cos(xO),求出一个新的xl;4)若x0-xl的绝对值小于0.000001,执行步骤(5),否则执⑸飒!是方程cos(x)-x=0的一个实根,作为函数值返回。:部分源改动主函।枭Root=0.程序在文件PR0G1.C中。739086c"inain^Q,仅在函数fun#include#includefloatfun()floatxO,x1=0.0;do{x0=x1;xl=cos(x0);}while(fabs(xO-x1)>0.000001);returnx1;}main()(

87printf(MRoot=%f

88",fun());NONO();NONO(){/*为6囚6。&:筑%怵「图淡Ey%丫"6Ao1直承6直*/FILE*wf;wf=fopen("C:\\WEXAM\\24990001\\out.dat"Jw“);fprintf(wf,"%f

89'\fun());fclose(wf);)第二十九套答案:LN2.N-13.0答案:1.s=s+(n+1.0)/n;3.returnt;编写函数fun,它的功能是:求Fibonacci数列中大于t的最小的一个数,结果由函数遨回。其中Fibonacci数列F(n)的定义为:F(0)=0,F⑴=1F(n)=F(n-1)+F(n—2)例如:当t=1000时,函数值为:1597。注意:部分源整屋在文件PR0G1.C中。请勿改勃主函薮mai丽]箕它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。第三十套答案:1.02j-4.j答案:1.doublef(doublex)2.returns;编写函数fun,它的功能是计算:s=^/ln(1)+ln(2)+ln(3)++ln(w)s作为函数值返回。在C语言中可调用log(n)函数求In(n)olog函数的引用说明是:doublelog(doublex)o例如,若m的值为:20,fun函数值为:6.506583。注意:部分耀序在文件PROG1.C中。请勿改务主函薮main^箕它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include#includedoublefun(intm)(doubles=0.0;inti;for(i=1;i<=m;i++)s+=log(1.0*i);

90s=sqrt(s);returns;}main()(printf(,,%f

91,\fun(20));NONO();}NONO(){/*±%°-EyOAOUO6afA%15£-iEaEeEy%Y£-,pEy£-'Ea36Ey%Y£--l0±diA%|?j£*/FILE*fp,*wf;inti,n;doubles;fp=fopen(,,C:\\WEXAM\\24990001\\in.dat,,,,,rH);wf=fopen(,,C:\\WEXAM\\24990001\\out.dat,,,Mwn);for(i=0;i<10;i++){fscanf(fp,n%dn,&n);s=fun(n);fprintf(wf,s);}fclose(fp);fclose(wf);第三十一套

92答案:14N]2.t[i][j]3.tU][i]答案:1.#defineFU(m,n)((m)/(n))规定卷入的字句串符串中的前导*号全葡I'o请编写函数fun,它的功能是:将字*号不删除。2.return(value);例如,字符串中的内容为:*******a*bc*def*g****,删除后,字符串中的内容应当是:a*bc*def*g****。在编写函数时,不得使用C语言提供的字蒋串函感注意:窗分源程序在文件PR0G1.C中。请勿改割主函薮mai向]箕它函数中的任何内容,仅在函数fun的花括号中填入你编写的若手语句。#includevoidfun(char*a){intj=0;char*p=a;while(*p='*')p++;while(*p){a|j++]=*P;p++;}a[j]=O;main(){chars[81];printf("Enterastring:

93M);gets(s);fun(s);printf("Thestringafterdeleted:

94n);puts(s);NONO();)NONO(){/*±%°-EyOAOUoi,aIA>41)£--EaEeEy%Y£-.p-?6A0-Ey£->Ea3dEy%Y£-1,0±OiA^|?i£*/FILE*in,*out;inti;chars[81];in=fopen(uC:\\WEXAMW24990001Win.daf/V0);out=fopen(',C:\\WEXAM\\24990001\\out.datH,"wn);for(i=0;i<10;i++){fscanf(in,"%s",s);fun(s);fprintf(out,"%s

95H,s);)fclose(in);fclose(out);

96第三十二套答案:2.i=0;ia[midl)部母应编尾字容你编改若在如是意勿的假的。例当注请写的L人少分主语包其使为只名容杼文副内林在m串符,的林序ma符字时中FG募。字靠串DE源函句L数OG函PR它写参串料编霄G*W。字F+。辑DE功中的串除一..的是后帅臂取TT答案:#includevoidfun(char*a,char*p)(char*q=a;intj=0;while(*q&&q

97n);gets(s);t=s;while(*t)t++;t-;while(九fun(s,t);printf(nThestringafterdeleted:

98");puts(s);NONO();)NONOQ{/*±%°-EyOAOU'说急跳W%〈£rjj-OA0-Ey£-'Ea3oEy?4Y£-110±diAWl>i£*/FILE*in,*out;

99inti;chars[81],*t;in=fopen("C:\\WEXAM\\24990001\\in.dal",T);out=fopen(,'C:\\WEXAM\\24990001\\out.dat,,,',wn);for(i=0;i<10;i++){fscanf(in,n%sn,s);while(*t)t++;t-;while(*t=='*,)t—;fun(s,t);fprintf(out,n%s

100M,s);)fclose(in);fclose(out);第三十三套答案:l.sum=03.1答案:1.doubler;2.while(fabs(m-n)>0,001)电*号。博编写函数fun,它的功能是:除了受它*号荃部删除。形参h已指向学符串由第后一个字母。在扁写函数时,不得使用C语言字符电前导和尾部的*号之夕上,将串甘一个李母,形参p已指向字符串中最提供的字符/函数。假定输入的字符串中只包含字例如,子符串中的内容为:****A*BC*DEF*G********,删除后,子符容应当是:****abcdeTg********°在编写函数时,不俗使用Cl吾后提供注意:部分源程序在文件PR0G1.C中。请勿改新主函裁main^其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#includevoidfun(char*a,char*h,char*p)(intj=0;char*q=a;while(*q&&q

101main(){chars[81],*t,*f;printf(MEnterastring:

102");gets(s);t=f=s;while(*t)t++;t-;while(*t=='**)t—;while如f==*)f++;fun(s,f,t);printf(nThestringafterdeleted:

103");puls(s);NONO();)NONO(){/*±%°-Ey6A6uzdi,aIA1^£-'EaEeEy%Y£-'|j^6Ao-Ey£--Ea3dEy%Y£-l0±diA%|5i£*/FILE*in,*out;inti;chars[81],*t,*f;in=fopen(,'C:\\WEXAM\\24990001\\in.dat,',nrn);out=fopen("C:\\WEXAM\\24990001\\out.dat”,“w“);for(i=0;i<10;i++){fscanf(in,M%sM,s);t=f=s;while(*t)t++;t-;while(*t=='*,)t-;while(*f==**,)f++;fun(s,f,t);fprintf(out,n%s

104H,s);}fclose(in);fclose(out);)第三十四套答案:1」2.j++3.j答案:1.t=a;a=b;b=t;2.retum(b);假定!号。请编与函数fun,匕的功能是:删除字符串中所有的*号。在编写函数时,不得使用C语言提供的字符串函数。例如,字符串中的内容为:****A*BC*DEF*G*******,删除后,字符串中的内容应当是:ABCDEFGo注意:郃分源程序在文件PR0G1.C中。一’,皿好癖口箕它函数中的任何内容,仅在函数fun的花括号中填入请勿改动主函凄你编写的若干语句。

105答案:#includevoidfun(char*a)(intj=0;char*p=a;while(*p){if(*p!=%)a[j++]=*p;P++;}a[j]=O;)main(){chars[81];printf("Enterastring:

106");gets(s);fun(s);printf("Thestringafterdeleted:

107n);puts(s);NONO();)NONO(){/*±%。-取6A6仃短明必怵「能加密%丫£「”6Ao■四£-•觞3就土*/FILE*in,*out;inti;chars[81];in=fopen(,'C:\\WEXAM\\24990001\\in.dat,,;,r");out=fopen(”C:\\WEXAM\\24990001\\out.dat"Jw”);for(i=0;i<10;i++){fscanf(in,"%s",s);fun(s);fprintf(out,"%s

108M,s);)fclose(in);fclose(out);)第三十五套答案:l.a[i]%22.a[j]3.j案:l,fun(intn)2.if(n==1)

109假定植入的字句串中只包含字母和*号。谛编写函数fun,它的功熊重:便宇符串中尾手的*号不号多于n个;若多于n个,贝伽除多余的*号,若少于或等于n个,则件%用不饰字符由中间和前面的*号不删除。容为:****a*bc*def*g*******,_,__字符串”中的内容应当是二****A*BC*DEF*尹***;若n的值为1则领串中的为:****A*6d*DEF*G*******。n的值在主函数中输入。在编写函数时,不平例如若n的值为4,删除后,球餐仍i导使用C语言堤供的字符串函数。任意:期薄程序在文件PR0G1.C中。请勿改晶主函薮mai丽1其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#includevoidfun(char*a,intn)(char*p=a;intj=0;while(*p)p++;p--;/*xdu'OpA^E*/while(*p=='*')p—;/*xduz®6bpA,*'*/P++;while(j

110M);gets(s);printf("Entern:");scanf("%cT,&n);fun(s,n);printf(nThestringafterdeleted:

111");puts(s);NONO();)NONO(){/*±%°-Ey6AOUo(,aIA%|j£->EaEeEy%Y£-.p^6A0-fiy£->Ea3dfiy%Y£-«l0±OiA%]>i£*/FILE*in,*out;inti,n;chars[81];in=fopen(,'C:\\WEXAM\\24990001\\in.dat,',MrM);out=fopen("C:\\WEXAM\\2499000lWout.dat”Jw”);for(i=0;i<10;i++){fscanf(in,M%sn,s);fscanf(in,&n);fun(s,n);fprintf(out,M%s

112H,s);fclose(in);

113fclose(out);第三十六套答案:l.a「]2.a[j]3.aU]答案:l.switch(g)2.case1:return1;case2:return1;某学生的记录由在主函数币给民请编舄函累望瞽翳震!哪身廨翳羽室茎的成绩已改在记录的ave成员中。例如,学生的成绩是:85.5,76,69.5,85,91,72,64.5,87.5,他的平均分应当是:78.875。注意:邰分源程序在文件PR0G1.C中。遁勿改另)主函薮main^箕它函数中的任何内容,仅在函数fun部位中填入你编写的碧干语句。#include#defineN8typedefstruct{charnum[10];doubles[N];doubleave;}STREC;voidfun(STREC*a)(inti;for(i=0;iave=a->ave+a->s[i];a->ave/=N;}main(){STRECs={,,GA005H,85.5,76,69.5,85,91,72,64.5,87.5};inti;fun(&s);printf(nThe%s*sstudentdata:

114u,s.num);for(i=0;i

115M,s.s[i]);printf(',

116ave=%7.3f

117',,s.ave);NONO();NONO()

118{/*±%°-EyOAOUoiaIA>41)£--EaEeEy%Y£-lp-?6A0-Ey£->Ea3dEy%Y£-1,0±diA,4|?i£*/FILE*out;inti,j;STRECs[10]={{“GA005”,85.5,76,69.5,85,91,72,64.5,87.5},{MGA001",82.5,66,76.5,76,89,76,46.5,78.5},{"GA002”,72.5,56,66.5,66,79,68,46.5,58.5},{"GA003”,92.5,76,86.5,86,99,86,56.5,88.5},{nGA004",82,66.5,46.5,56,76,75,76.5,63.5),{MGA006",75.5,74,71.5,85,81,79,64.5,71.5},(MGA007H,92.5,61,72.5,84,79,75,66.5,72.5),{MGA008u,72.5,86,73.5,80,69,63,76.5,53.5},{"GA009”,66.5,71,74.5,70,61,82,86.5,58.5},{"GA010",76,66.5,75.5,60,76,71,96.5,93.5},);out=fopen(,'C:\\WEXAM\\24990001\\out.dat',;,wM);for(i=0;i<10;i++){fun(&s[i]);fprintf(out,"%7.3f

119n,s[i].ave);)fclose(out);第三十七套答案:l.*a2.23.i+l答案:l.sum2.if((i+l)%5==0)学生的记录由学号和成绩组成,N名学生的数据已在主函数史放入结构体数组s中,遁编写函数fun,它的功熊是:把低于丰均分国学生数图放左b所指的数组中,低于是均分的华生人数通过我参n传回,幸血分值过函数值强回。注意:部冷源程序在文桂PR0G1.C中。请勿改副主函薮mai向]箕它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include#include#defineN8typedefstruct{charnum[IOJ;doubles;}STREC;doublefun(STREC*a,STREC*b,int*n)inti;doubleave=0.0;

120*n=0;for(i=0;izi61*/)returnave;/*p»0^!^%uOp*/main(){STRECs[N]={{"GA05';85},{nGA03',,76},{uGA02,1,69},{"GA04",85),{“GA01”,91},{“GA07”,72},{“GA08”,64},{“GA06\87));STRECh[N],t;FILE*out;inti,j,n;doubleave;ave=fun(s,h,&n);printf("The%dstudentdatawhichislowerthan%7.3f:

121",n,ave);for(i=0;i

122M,h[i].num,h[i].s);printf(”

123“);out=fopen("C:\\WEXAM\\24990001\\out.dar'Jw");fprintf(out,"%d

124%7.3f

125",n,ave);for(i=0;ih[jj.s){t=h[i];h[i]=h[jj;h[j]=t;}for(i=0;i

126M,h[i].s);fclose(out);第三十八套答案:LI2.i3.a[p+i]答案:1.floatk;学生的记录由学号和成绩组成,N名学生的数谓s中,请编写函数fun,它的功能是:把分数最高的孥..…..意:介莪星高的学生可熊示一个,函数返酸教最高的学生的人教。注意:醺分源程序在文件PR0G1.C中。口|请勿改动主国主你编写的若干语句。PR0G1.C中。入结构体数组指的数组中,注它函数中的任何内容,仅在函数fun的花括号中填入#include

12716#defineNtypedefstruct{charnum[10];ints;}STREC;intfun(STREC*a,STREC*b)(inti,max=a[O].s,n=O;for(i=1;i

128",n);for(i=0;i

129M,h[i].num,h[i].s);printf(H

130,');out=fopen(nC:\\WEXAMW24990001Wout.dafVw0);fprintf(out,,,%d

131,,,n);for(i=0;i

132,',h[i].s);fclose(out);}第三十九套答案:l.n/22.i3.a[n-i-lJ答案:l.n=*p-0';2.n=n*8+*p-*0,;

133组主作数在,体号T结的绩人定成中a,娄nB—函叫中,函理的L数成.;a较OG函组建。田PR它绩能早成功定符文丽爵指至in>号它到看ma由把%源函句录数若。分主语记函。回野干的写入返:改若生编藉意勿的学基数注请写裒函编井函为你#include#include#defineN16typedefstruct{charnum[10];ints;}STREC;STRECfun(STRECchar*b)(STRECc;inti;c.num[O]=W;/*OA36E%td®*/c.s=-l;/*OA3E%T-1*/for(i=O;i3dp*/break;/*IE36N-»-ia*/)returnc;/*p»0!^anIaiaA^*/)main(){STRECslN]={{MGA005",85},{“GA003”,76},{“GA002”,69},{”GA004”,85},{"GAOOlM,91}.{,,GA007M,72},{“GAOO8”,64},{“GA006”,87),{uGA015H,85},{nGA013M,91},{HGA012M,64},{MGA014M,91),{nGA0HM,77},{MGA017*64},{“GAO18M,64},{MGA016",72}};STRECh;charm[10];inti;FILE*out;printf(MTheoriginaldata:

134u);for(i=0;i

135");printf(M%s%3dM,s[i].num,s[i].s);printf(M

136

137Enterthenumber:M);gets(m);h=fun(s,m);printf(MThedata:”);printf(M

138%s%4d

139",h.num,h.s);printf(n

140H);out=fopen(',C:\\WEXAM\\24990001\\out.dat";,wn);h=fun(s,HGA013");fprintf(out,H%s%4d

141,',h.num,h.s);fclose(out);第四十套1.char2.chv='9'3.U答案:Lb[k]=*p;2.b[k]=,';k++;N名学生的成绩已在主函数中放入一个簟头节点的链表结构中,h指向链表的头节点。请编写函数fun,它的功能是:求出幸肉分,由函数值返回。

142例如,若学生的成绩是:85,76,69,85,91,72,64,87,则平均分应当是:78.625。注意:部分源程序在文件PR0G1.C中。请勿改办主函薮mai曲]其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include#include#defineN8structslist{doubles;structslist*next;};typedefstructslistSTREC;doublefun(STREC*h)STREC*p=h->next;doubleav=0.0;intn=0;/*6EOUf^apadDA»6Dx-AEy%Y*//*pA±aA^'Zi0DD36E%»_*/while(p!=NULL){av=av+p->s;/*ADfiA'士市应0*//*next;n++;)av/=n;returnav;/*加ai»GA*//*EEEy%61*//*'47EEa3E%,^^%uOp*//*-p»03E!4\E^uOp*/STREC*creat(double*s){STREC*h,*p,*q;inti=0;

143h=p=(STREC*)malloc(sizeof(STREC));p->s=0;while(is=s[i];i++;p->next=q;p=q;)p->next=O;returnh;}outlist(STREC*h)(STREC*p;p=h->next;printf(HheadH);do{printf("->%4.1f',p->s);p=p->next;}while(p!=0);printf("

144

145n);Imain(){doubles[N]={85,76,69,85,91,72,64,87},ave;STREC*h;h=creat(s);outlist(h);ave=fun(h);printf(Have=%6.3f

146",ave);NONO();)NONO()(/*诩。-E:yOA6u0i,aiA'4|)£--fiafefiy%Y£--|Li^6A0-Ey£^d^y%Y£^l0+O\A'A^£*/FILE*in,*out;intij;doubleslN],ave;STREC*h;in=fopen("C:\\WEXAM\\24990001\\in.dat",“r“);out二fopen(,'C:\\WEXAM\\24990001\\out.dat',,uwM);for(i=0;i<10;i++){for(j=0;j

147M,ave);)fclose(in);fclose(out);

148答案:1.&&2.W3.ch答案:l.voidfun(int*a)4.a[j]=a|j-l];■编写一个函数fun它的功能是:计算并输出给定整数n的所有因子(不包括1与n官身)之和。规定n的值不大于1000。例如,在主函数中从硬盘给n输入的值为856,则输出为:suro=763。注意:部分源程序在文件PROGLC轧请勿改凝主函薮mai丽]箕他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#includeintfun(intn)(ints=0,i;for(i=2;i

149M,sum);NONO();}NONO(){/*QeOU,E0-EyAUoi8!A%|5£-»EaEe2aEOEy%Y£--p4-6Afun°-Ey£-.Ea3dEy%Y£-.10±OiA%pj£*/FILE*rf,*wf;inti,n,sum;rf=fopen(',C:\\WEXAM\\24990001\\in.dat,',nrn);wf=fopen("C:\\WEXAM\\2499000lWout.dat"Jw“);for(i=0;i<10;i++){fscanf(rf,&n);sum=fun(n);fprintf(wf,H%d=%d

150n,n,sum);)fclose(rf);fclose(wf);第四十二套答案:1.12.-13.t答案:l.for(i=l;i<=3;i++)

1512.if(k>=0&&k<=6)

152请编写函数fun,其功能是:计算并输出下列多项式的值:—+%+%+%+%+•…+%例如,在主函数中从键盘给n输入15,则输出为:s=2.718282。注意:聚求n的造与1但不大于100。部分源程序在文隹PROG1.C中。请勿改考]主函薮箕他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#includedoublefun(intn)(doubles=l;longt=l;inti;for(i=l;i<=n;i++){t=t*i;/*%星用%x3巨*/s+=l./t;/**4^EaAiKpAOp2«!AU1/i6OA+aAi,sdD*/)returns;/*p»0^[aIiEVipAO|j*/Imain(){intn;doubles;printf(nInputn:");scanf("%d",&n);s=fun(n);printf(ns=%f

153n,s);NONO();)NONO(){/*^eOUEyAU^aIA%l)£-iEaEe2aEdEy%Y£--p4<)Afun°-Ey£-iEa3oEy%V£->'0±diA%J)i£*/FILE*rf,*wf;intn,i;doubles;rf=fopen(nC:\\WEXAM\\2499000IWin.dat",Hrn);wf=fopen(HC:\\WEXAM\\2499000IWoutJaf'/'w'1);for(i=0;i<10;i++){fscanf(rf,"%d”,&n);s=fun(n);fprintf(wf,"%lf

154",s);}fclose(rf);fclose(wf);答案:Lx2.n

1553.fabs(t)答案:1.for(i=1;iv=y;i++)2.t=t%1000;请编写函数fun,其功能是:计算并输出当x<0.97时下列多项式直到|Sx-Sn』vO.000001为止。+0.5(05-1)00.5(05-1)(05-2)3+0.5(05-1)(05-2)-(0.5-«+1)・]十U.DX十X十X十・•・■»■X2!3!Mt一改填如意勿牡函源函编主分主你给PR他句盘键文制干从在M若*ma的数募写x:。函。:s=l.lOOOOOo仅在函数fun的#include#includedoublefun(doublex)(intn=l;/*N-»-%^Ey*/doublesn=1;/*AU%i€Ey*/doublexn=1,xn1=0;/*xpAnOp,00%oxpAn-1Op;*/while(fabs(xn-xn1)>=0.000001)/*%0(||dOpEQnAuxalo1^*/{xn=xn*x*(0.5-n+1)/n;/*±ixiEViO^adO06xn=(xn-1)*x*(0.5-n+1)/n*/n+=l;sn+=xn;/*snAU%6EIxn*/}retum(sn);}main(){doublex,s;printf(MInputx:”);scanf(M%lf',&x);s=fun(x);printf(ns=%f

156'\s);NONO();}NONO(){/*QeOU,E0-EyAUA%|5£-iEaEe2aEOEy%Y£--p4-6Afun0-Eyf-.Ea^E^Yf-i^+OIj£*/FILE*rf,*wf;inti;doubles,x;rf=fopen("C:\\WEXAM\\24990001\\in.dat,T');wf=fopen("C:\\WEXAM\\24990001\\out.dal“Jw”);for(i=0;i<10;i-H-){fscanf(rf,"%lf;&x);s=fun(x);fprintf(wf,n%lf

157n,s);)fclose(rf);fclose(wf);

158第四十四套答案:1.12.13.i答案:l.k=i;2.c=k;请编写函数fun,其功能是:计算并输出给定10个数的方差:Sj居-哥)2(即:'。个数的平均值)110为收=记£居1UX-1例如,给定的10个数为95.0、89.0、76.0、65.0,88.0、72.0,85.0、81.0,90.0、56.0,输出为s=ll.730729。注意:邯将源程序在文件PR0G1.C中。请勿改新主函薮maiM口其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。##include#includedoublefun(doublex[10])(inti;doubleavg=0.0,sum=0.0,abs=0.0,fc;for(i=0;i<10;i++)sum+=x[ij;avg=sum/10;/**/for(i=0;i<10;i++)abs+=(x[i]-avg)*(x[i]-avg);fc=sqrt(abs/10);returnfc;)main(){doubles,x[10]={95.0,89.0,76.0,65.0,88.0,72.0,85.0,81.0,90.0,56.0);inti;printf(M

159Theoriginaldatais:

160M);for(i=0;i

161

162M);s=fun(x);printf(',s=%f

163

164,,,s);NONO();)NONO(){/*^eOUTTfiyAUoi,aiA%|)£-iEaEe2aEdEy%Y£->p-?OAfun°-Ey£-nEa3oEy%Y£-'10+diA'41)i£*/FILE*rf,*wf;inti,j;doubles,x[10];

165rf=fopen("C:\\WEXAM\\24990001\\in.dal",T);wf=fopen("C:\\WEXAM\\24990001\\out.dat",“w“);for(i=0;i<5;i++){for(j=0;j<10;j++)fscanf(rf,H%lf\&x|j]);s=fun(x);fprintf(wf,n%lf

166",s);)fclose(rf);fclose(wf);第四十五套答案:Lx2.n3.t答案:l.d=l;s=O;2.d=d/10;请编写函数fun,其功能是:计算并输出给定数组(长度为9)中每相邻两个元素之率均值的壬方很之和。_例如,给定数组中的9个元素依次为12.0、34.0,4.0,23.0、34.0、45.0、18.0,3.0,11.0,输出应为:s=35.951014。注意:部分源程用在文件PR0G1.C中。请勿改到主函薇maiM□箕他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。答案:#include#includedoublefun(doublex[9J)inti;doubleavg=0.0,sum=0.0;for(i=0;i<8;i++){avg=(x[i]+x[i+1])/2;sum+=sqrt(avg);returnsum;main(){doubles,a[9]={12.0,34.0,40,23.0,34.0,45.0,18.0,3.0,11.0};inti;printf("

167Theoriginaldatais:

168M);for(i=0;i<9;i++)printf(H%6.1f;a[i]);printf(n

169

170M);s=fun(a);printf(Hs=%f

171

172\s);NONO();)NONO(){/*?eOUTETEyAU^atA,41)£-'EaEe2aEdEy%Y£--|jAfun0-Ey£-.Ea3dEy%Y£-.10+diA%pi£*/

173FILE*rf,*wf;intij;doubles,a[9];rf=fopen("C:\\WEXAM\\24990001\\in.dat",“r“);wf=fopen("C:\\WEXAM\\24990001\\out.dat",“w“);for(i=0;i<5;i++){for(j=0;j<9;j++)fscanf(rf,H%lf1,&a[j]);s=fun(a);fprintf(wf,s);}fclose(rf);fclose(wf);第四十六套答案:Lj=22.i3.j答案:l.sum=0;j=0;2.if(sum%4==2)请编写函数fun,其功能是:计算并输出下列多项式的值:例如,在主函数中从键盘给n输入8后,输出为:s=0.662872»注意:寰求n的谑卷1但不大于100。部分潦程序在文件PR0G1.C中。请勿改副主函薮mai向]箕他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#includedoublefun(intn)inti;doublesum=0.0;if(n>l&&n<=100){for(i=l;i<=n;i++)sum+=l.0/(2*i-l)-l.0/(2*i);}returnsum;)main(){intn;doubles;printf(n

174lnputn:");scanf("%dH,&n);s=fun(n);printf(,'

175s=%f

176u,s);NONO();)NONO()

177{/*^eOUTTEyAUzdi,aIA%l)£-lEaEe2aE6Ey%Yfipfun0-Eyf-.Ea%Ey^Yf-n'O+OiA%l)j£*/FILE*rf,*wf;intn,i;doubles;rf=fopen(',C:\\WEXAM\\24990001\\in.dat,,,Hr");wf=fopen(,,C:\\WEXAM\\24990001\\out.dat',,,,wn);for(i=0;i<10;i++){fscanf(rf,&n);s=fun(n);fprintf(wf,"%lf

178H,s);}fclose(rf);fclose(wf);第四十七套答案:l.n%102.break3.break答案:l.if(t==O)2.*zero=count请编写函数fun,其功能是:计算并输出下列多项式的值:111S=1+++—+1*21*2*31*2*3*-50例如,在主函数中从键盘给n输入50后,输出为:s=l.718282。注意:理求n的造大于1但不大于100。部分源桂序古文件PROG1.C中。请勿改副主函薮mair^箕他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#includedoublefun(intn)doubles=0,t=l;inti;for(i=1;i<=n;i++){t*=i;s+=l./t;)returns;}main(){intn;doubles;printf(H

179Inputn:");scanf(n%d",&n);s=fun(n);printf(',

180

181s=%f

182

183",s);NONO();)NONO(){/*CeOU,E0-EyAUxdiaiA14|)£--EaEe2aEdEy%Y£--p^6Afun

1840-Ey£-.Ea36Ey%Y£-.10±diA%pj£*/FILE*rf,*wf;intn,i;doubles;rf=fopen("C:\\WEXAM\\24990001\\in.dat”,T');wf=fopen("C:\\WEXAM\\2499(XX)l\\out.dal”Jw“);for(i=0;i<10;i++){fscanf(rf,"%d”,&n);s=fun(n);fprintf(wf,n%lf

185K,s);)fclose(rf);fclose(wf);}第四十八套答案:La[i]2.a[i]3.0答案:Ly=l;2.d=a-i;请编写函数fun,它的功能是:计算并输出n(包括n)以内能被5或9整除的所有自然薮的倒数之而。例如,在主国数中从键盘给n输入20后,输出为:s=0.583333。注意:篡求n的值不天于100。部分源程序在文隹PR0G1.C中。请勿改新主函薮mai通]其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#includedoublefun(intn)inti;doublesum=0.0;for(i=l;i<=n;i++)if(i%5==Oili%9==0)/*±»5»o9Ou3y*/sum+=1.0/i;returnsum;}main(){intn;doubles;printf(H

186Inputn:");scanf(M%d",&n);s=fun(n);printf(',

187

188s=%f

189",s);NONO();)NONO()fun{/*QeOlJtrEyAUxdiaiA%b£--EaEe2aEdEy%Y£-1p^6A0-Ey£-.Ea36Ey%Y£-.10±diA%pj£*/

190FILE*rf,*wf;intn,i;doubles;rf=fopen("C:\\WEXAM\\24990001\\in.dat”,T');wf=fopen("C:\\WEXAM\\24990001\\out.dal"Jw“);for(i=0;i<10;i++){fscanf(rf,"%d”,&n);s=fun(n);fprintf(wf,n%lf

191K,s);)fclose(rf);fclose(wf);}第四十九套答案:l.i2.t++3.count答案:Lintfun(intajntb,intc)2.elsereturn1;三、编程请编写函数fun,其功能是:计算并输出3到n之间(含3和n)所有素数的平方根之和。例如,在主函数中从键盘给n输入100后,输出为:SUHP148.874270»也意:聚求n的信大手2但不大于100。■Z♦文件PR0G1.C中。加好福口其他函数中的任何内容,仅在函数fun的花括号中填入部分源程序在文件PROG1.C中。一请勿改动主国薮main..你编写的若干语句。答案:#include#includedoublefun(intn)(inti,j=0;doubles=0;for(i=3;i<=n;i++){for(j=2;j

192

193lnputn:");scanf("%d",&n);sum=fun(n);printf(n

194

195sum=%f

196

197",sum);NONO();}NONO(){/*^eOU'E0-EyAUo/,aIA%l)£-iEaEe2aEdEy%Y£-.p-=-6Afun

1980-fiy£-.Ea3o&y%Y£-.'0±OiA'41)j£*/FILE*rf,*wf;intn,i;doubles;rf=fopen("C:\\WEXAM\\24990()0IWin.dat'VY");wf=fopen(”C:\\WEXAM\\24990001\\out.dat","w");for(i=0;i<10;i++){fscanf(rf,”%d”,&n);s=fun(n);fprintf(wf,"%lf

199n,s);Ifclose(rf);fclose(wf);第五卜套答案:La2.a3.b答案:1.c=tolower(c);2.c=c+5;请编写函数fun,其功能是:计算并输出=1+(1+72)+(1+72+73)+……+(1+至+g+…+石)例如,在主函数中从键盘给n输入20后,输出为:s=534.188884。注意:罢求n的适后1但不大于100。部分源翟落在文住PROGLC中。请勿改办主函薮mai面]箕他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include#includedoublefun(intn)(inti;doublefac=1.0;doublesum=1.0;for(i=2;i<=n;i++){fac+=sqrt(i);sum+=fac;}returnsum;)main(){intn;doubles;printf(n

200

201lnputn:");scanf(n%d'\&n);s=fun(n);printf(n

202

203s=%f

204

205',,s);NONO();}NONO(){/*^eOUT°-EyAUoiaIA%l)£--EaEe2aEdEy%Y£--p-?OAfun°-Ey£-.Ea3dEy%Y£->10+diA%t)i£*/

206FILE*rf,*wf;intn,i;doubles;rf=fopen(”C:\\WEXAM\\24990001\\in.datYT”);wf=fopen(',C:\\WEXAM\\24990001\\out.dat',,,,wn);for(i=0;i<10;i++){fscanf(rf,"%d",&n);s=fun(n);fprintf(wf,"%lf

207H,s);fclose(rf);fclose(wf);

208答案:0t++2.inti,sl;t[i]=s[sl-i-l];函数fun的功能是:将a、b中的两个两位正整数合昔形成一个新的整数放在c中。合并的方式是:将a虫的十隘口个位数依次放在变皇c的百位和个位上,b中的¥•位和个位数依次放在发量c的早位和十位上。例如,当a=45牲意:部分源,请勿改动主函举你编写的若干语句。.序存在文件PROGl.C中。数额件IN.DAT中的数据不符修改。:其它函数中的任何内容,仅在函数fun的花括导中填入b=12。调用该函数后,c=1425。#includevoidfun(inta,intb,long*c)(答案:*c=(b/10)*l000+(a/10)*100+(b%10)*10+(a%10);main()/*主函数*/{inta,b;longc;printf(HInputa,b:°);scanf(H%d%d",&a,&b);fun(a,b,&c);printf(nTheresultis:%ld

209n,c);NONO();)NONO(){/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/FILE*rf,*wf;inti,a,b;longc;rf=fopen(nC:\\WEXAM\\2499000l\\in.datM,Mrn);wf=fopen("C:\\WEXAM\\24990001\\out.dat",“w“);for(i=0;i<10;i++){fscanf(rf,n%d,%dn,&a,&b);fun(a,b,&c);fprintf(wf,,'a=%d,b=%d,c=%ld

210u,a,b,c);fclose(rf);fclose(wO;)第五十二套999t/10答案:

211voidfun(longs,long*t)while(s>0)2.学生的记录由学号和成绩组成,N名学生的数据己在主函数中放入结构体数组s中,请编写函数fun,它的功熊是:按分数的高低罪列学生的记录,高分在前。注意:部分源覆序在文件PR0G1.C文件中。请勿改粉主函薮mai痛]箕它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include#defineN16typedefstruct{charnum[10];ints;}STREC;voidfun(STRECa[])答案:STRECtmp;inti,j;for(i=0;i

212M);for(i=0;i

213n);printf(w%s%4dn,s[i].num,s[i].s);1printf(',

214,');out=fopen("C:\\WEXAM\\24990001\\out.dat,,;'wn);for(i=0;i

215H);fprintf(out,n%4dn,s[i].s);}fprintf(out;,

216n);fclose(out);}第五十三答案:i*10

217答案:intfun(intn,intxx[][M])printf(M%dH,xx[i][j]);[j]);O3.函数fun的功能是:将a、b中的两个两位正整数合并形成一个新的整数放在c中。合并的方式是:将a里的十位和个位数依次放在变篁c的干位和十位上,b中的:位和个位数依次放在变量c的个便和百位上。例如,当a=45,b=12。翔甬该菌薮后,c=4251。注意:系分源程序存在文徉PR0G1.C中。数簸件IN.DAT中的数据不符修改。请勿改领主函薮mai/□其它函数中的任何幡,仅在函数fun的花括导中填入你编写的若干语句。#includevoidfun(inta,intb,long*c){答案:*c=(a/10)*1000+(b%10)*100+(a%10)*10+(b/l0);main(){inta,b;longc;voidNONO();printf(HInputa,b:n);scanf(M%d%d,\&a,&b);fun(a,b,&c);printf('*Theresultis:%ld

218M,c);NONO();voidNONO()

219{/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/FILE*rf,*wf;inti,a,b;longc;rf=fopen("C:\\WEXAM\\24990001\\in.datYT');wf=fopen("C:\\WEXAM\\24990001\\out.dal",“w“);for(i=0;i<10;i-H-){fscanf(rf,H%d,%dn,&a,&b);fun(a,b,&c);fprintf(wf,,'a=%d,b=%d,c=%ld

220,\a,b,c);}fclose(rf);fclose(wf);}第五十四if(d%2!=0)编写一个函数fury它的功能是:即喊嚼微糯•个字融,符串的连接(不使用库函数strcat),3.FirstString-SecondString程序输出:.FirstString——SecondString注意:部分源程摩在支件PR0G1.C文律中。请勿改总)主函薮mai痛]箕它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#includevoidfun(charpl[],charp2[]){答案:char*p=p1;while(*p)p++;while(*p2)*p++=*p2++;*p=0;main(){charsi[80],s2[40];voidNONO();printf(MEntersiands2:

221M);scanf(n%s%sH,si,s2);printf(Msl=%s

222H,si);printf("s2=%s

223u,s2);printf(MInvokefun(sl,s2):

224M);

225fun(sl,s2);printf(nAfterinvoking:

226H);printf(^^%s

227^^,si);NONO();voidNONO(){/*本函数用于打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/inti;FILE*rf,*wf;charsl[8O],s2[40];rf=fopen(',C:\\WEXAM\\24990001\\in.dat,',nrn);wf=fopen(MC:\\WEXAM\\24990001\\out.dat,';,wH);for(i=0;i<10;i-H-){fscanf(rf,"%s”,si);fscanf(rf,"%s”,s2);fun(sl,s2);fprintf(wf,"%s

228",si);)fclose(rf);fclose(w0;)答案:char*p=p1;while(*p)p++;while(*p2)*p++=*p2++;*p=0;第五十五套答案:100答案:if(n==0)result*=n-;3.请编马一个函数fun,它的功能是:将一个数字字便啰电0叁豆:阈数把喝注意:*-1234*,则FVFJ■丁1、J中,达81£数的醯数)。例如,若输为整叔值T234。函数fun中给出的语©权供』_叩分源程序存在文件PR0G1.C文件中。请勿改勃主函薮mai旃1其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include#include

229longfun(char*p)(/*以下代码仅供参考*/inti,len,t;/*len为串长,t为正负标识*/longx=0;len=strlen(p);if(p[O]==,-t){t="l;len-;p++;}elset=l;/*以下完成数字字符串转换为一个数字*/returnx*t;)main()/*主函数*/{chars[6];voidNONO();longn;printf(MEnterastring:

230");gets(s);n=fun(s);prinlf("%ld

231”,n);NONO();)voidNONO(){/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/FILE*fp,*wf;inti;charsl20];longn;fp=fopen(,,C:\\WEXAM\\24990001\\in.dat,';,rH);wf=fopen("C:\\WEXAM\\2499000lWout.dat“Jw“);for(i=0;i<10;i++){fscanf(fp,"%sH,s);n=fun(s);fprintf(wf,,,%ld

232,

233);}fclose(fp);fclose(wf);答案:while(*p)x=x*10+(*p++)-t0,;第五十六套答案:

2340n(t*t)答案:for(i=0;str[i];i++)if(substr[k+l]==\0')3.请编写一个函数fun,它的功能是:根据以下公式求冗的值(要求满足精度0.0005,即某项小于0.0005时停止迭代):K11X21X2X31X2X3X41X2X-xn—=1+—I-+fb+233X53X5X73X5X7X93X5X…X(2n+1)翟翳弱耀牌蔻翩酰瞿鬻输出为'M…。请勿改新主函薮mai痛]其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include#includedoublefun(doubleeps)(答案:doubles=l,t=l./3;intn=l;while(t>=eps){s+=t;n++;t=t*n/(2.0*n+l);}return(s*2.0);main(){doublex;voidNONO();printf("Inputeps:");{doublex;voidNONO();NONO();}voidNONO(){/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/FILE*fp,*wf;inti;doublex;fp=fopen(nC:\\WEXAM\\24990001\\in.dat,';,rM);

235wf=fopen(MC:\\WEXAM\\2499000l\\out.dat,,,,,wn);for(i=0;i<10;i++){fscanf(fp,M%If\&x);fprintf(wf,H%lf

236n,fun(x));}fclose(fp);fclose(wf);)第五十七套答案:(-1)答案:k++;if(m==k)点评:请编写一个函数fun,它的功能是:找出一维整型数组元塞史最大的值和它.在的下标,最大的值和它所在的下标通"形参传回。数组元素中的值已在主函*中赋予所在元!k是数组名,n是x中的数据个数,max存放最大值,index存放最大值你编写的若干语句。望序存在文件PR0G1.C文件中。段mai/口其它函数中的任何内容,仅在函数fun的花括号中填入#include#includevoidfun(inta[],int(答案:inti;*max=a[0];*d=0;for(i=1;i

237M);fun(x,n,&max,&index);printf("Max=%5d,Index=%4d

238M,max,index);NONO();

239voidNONO(){/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/HLE*fp,*wf;inti,x[20],max,index,n=10,j;fp=fopen(HC:\\WEXAM\\24990001\\in.dat,,,',rH);wf=fopen("C:\\WEXAM\\24990001\\out.dal",“w“);for(i=0;i<10;i++){for(j=0;j

240M,max,index);)fclose(fp);fclose(wf);)第五十八套答案:3.0(2*i+l)答案:doublefun(intn)s=s+(double)a/b;3.请编可二个函数fun,它的功能是:求出一个2XM整型二维数组中最大元素的值,触此信返回明周函数。注意:黔源程序存在文件PR0G1.C文件中。请勿改新主函薮mai湎]其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include#defineM4intfun(int{答案:inti,j,max=a[0J[0J;for(i=0;i<2;i++)for(j=0;j

241n,fun(arr));NONO();

242voidNONO(){/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/FILE*wf;intarr[][M]={5,8,3,90,76,-4,12,82);wf=fopen("C:\\WEXAM\\24990001\\out.dal",“w“);fprintf(wf,umax=%d

243,',fun(arr));fclose(wf);)第五十九套答案:0点评:答案:voidfun(char*s,char*t)t[2*d]=AO';函数fun的功能是鸽露所曹鹦噩麓事Kl舞藕翁藤鸳■阖霆嚼虽为I如,若s所指字符串中的内容为:"ABCDEFG12345”,其中字符A的ASCH码值・数,但所在元素的下标为偶数,因此必需删除;而字机的ASCII弱值为奇:在数组电的下标也为奇数,因此不应当删除,其它依此类推。最后t所指的的内容应是:"135”。注意:部分源程序存在文件PR0G1.C中。请勿改勃主函薮mai通]其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include#includevoidfun(char*s,chart[]){答案:inti,j=0;for(i=1;i

244PleaseenterstringS:n);scanf(,,%sM,s);fun(s,t);printf("

245Theresultis:%s

246M,t);NONO();voidNONO(){/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/chars[100],t[100];HLE*rf,*wf;inti;

247rf=fopen(",C:\\WEXAM\\24990001\\in.dat";,ru);wf=fopen(,,C:\\WEXAM\\24990001\\out.dat,,;,wn);for(i=0;i<10;i++){fscanf(rf,n%sn,s);fun(s,t);fprintf(wf,n%s

248M,t);}fclose(rf);fclose(wf);)第六十套答案:ls[i]k02while(*w)if(*r==*p)3.函数fun的功熊是:将s股揖字符串中ASCII值为奇数的字符删除,串中剩余字符形或一个新串成在t所招的强组史。例如,若s所指字符串中钟春为:"ABCDEFG12345”,其中生付A的ASCII限值为奇猴…、字物的ASCH喊也为奇数、…都应当删除,其仑核此类推。最后t所轴的数组中的内震应是:"BDF24"。注意:部分源程存存在文件PR0G1.C中。请勿改副主函薮mai通]其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include#includevoidfun(char*s,chart[])(答案:inti,j=0;for(i=0;i

249main()chars[100],t[100];voidNONO();printf(n

250PleaseenterstringS:n);scanf(,,%sM,s);fun(s,t);printf(M

251Theresultis:%s

252M,t);NONO();voidNONO(){/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/chars[1001,t[100];HLE*rf,*wf;inti;rf=fopen(nC:\\WEXAM\\2499000IWin.daf'/V);wf=fopen("C:\\WEXAM\\2499(X)01\\out.dat",“w“);for(i=0;i<10;i++){fscanf(rf,u%s'\s);fun(s,t);fprimf(wf,"%s

253”,t);}fclose(rf);fclose(wf);)第六十一套答案:p答案:while(i#include

254voidfun(char*s,chart[]){答案:inti,j=0;for(i=0;i

255PleaseenterstringS:");scanf(”%s",s);fun(s,t);printf(M

256Theresultis:%s

257H,t);NONO();voidNONO(){/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/chars[100],t[100];FILE*rf,*wf;inti;rf=fopen(nC:\\WEXAM\\24990001\\in.dat,,,T,);wf=fopen("C:\\WEXAM\\24990001\\out.dat",“w“);for(i=0;i<10;i++){fscanf(rf,,'%sn,s);fun(s,t);fprintf(wf,n%s

258M,t);)fclose(rf);fclose(wf);)第六十二套答案:0x[iJ/Nj++答案:doublefun(intm)for(i=100;i<=m;i+=100)已知学生的记录由学芍和学习成绩构成,蹄生曜穗已不中。请编写函数fun,函展的功能是:找出成绩最低的学生记录生函教(规定只有一个最低分)。荏意:部曙原程序存在文件PR0G1.C文件中。

259请勿改抄)主函薮mai用口其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include#include#defineN10typedefstnict{charnum[10];ints;}STU;voidfun(STUa[],STU*s){答案:inti,min=a[0].s,j=0;for(i=1;ia[i].s){/*如果最低分min仍大于当前分*1j=i;/*记住位置*/min=a[i].s;/*把当前分赋值给min*/}*s=a[j];)main(){STUa[N]={{,rA01,;81},{,,A02,,,89},{,,A03';66},{MA04,\87},{',A05M,77),{”A06\90},{“A07V79},「A08”,6IM”A09”,80},{“Al(r,71}},m;inti;voidNONO();printf("*****Theoriginaldata*****

260H);for(i=0;i

261M,a[il.num,a[i].s);fun(a,&m);printf("*****THERESULT*****

262");printf(HThelowest:%s,%d

263H,m.num,m.s);NONO();voidNONO(){/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/FILE*rf,*wf;STUa[N],m;inti;rf=fopen("C:\\WEXAM\\2499000Nin.dat",T');wf=fopen(MC:\\WEXAM\\24990001\\out.dat,V,wu);for(i=0;i<10;i++)fscanf(rf,M%s%d”,a[i].num,&a[ij.s);fun(a,&m);fprintf(wf,"Thelowest:%s,%d

264",m.num,m.s);

265fclose(rf);fclose(wO;)第六十三套1答案:*avx[j]答案:floatfun(intn)for(i=2;i<=n;i++)程序定义了NXN的二维数组,的功能是:使数组右上三角元素中的例如:1=24若m的值为2,a数组中的值为在主函数中自动赋值。请编写函数fun,函数值乘以O注意:则返回主程序后速组中的值应为r分源程序存在文件PR0G1.C文件中。请勿改动主函薮main^l其它函数中的任何内容,你编写的若干语句。1814616512Q]仅在函数fun的花括号中填入#include#include#defineN5voidfun(inta[][N],intm){答案:inti,j;for(i=0;i

266");for(i=0;i

267");)dom=rand()%10;while(m>=3);printf("m=%4d

268",m);fun(a,m);printf("THERESULT

269");for(i=0;i

270M);)NONO();

271voidNONO(){/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/HLE*rf,*wf;inti,j,n,a[5][5];rf=fopen(',C:\\WEXAM\\24990001\\in.datn;,rn);wf=fopen(MC:\\WEXAM\\24990001\\out.dat,';,wH);fbr(i=0;i<5;i++)for(j=0;j<5;j++)fscanf(rf,n%dM,&a[i][j]);fscanf(rf,&n);fun(a,n);for(i=0;i<5;i++){for(j=0;j<5;j++)fprintf(wf,H%4d",a[i][j]);fprintf(wf,n

272H);}fclose(rf);fclose(wf);)第六十四套1.答案:s/Nj-H--1答案:#includeupfst(char*p)3.

273在主函数中赋值。程序定义了NXN的二维数组,#l立…能是:集出数组周边元素甫平均值笄作为函数值返给主函数中的s。例如:a数组中的值为请编写函数fun,函数的功0124579453182413.375。则返回主程序后s的值应为:一心注意:部分源停律存在文件PR0G1.C文件中。请勿改曷主函薮mai通]其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include#include#defineN5doublefun(intw[][N]){答案:inti,j,n=0;doublesum=0;for(i=0;i

274M);for(i=0;ivN;i++){for(j=0;j

275");)s=fun(a);print””*****THERESULT*****

276");printf(''Thesumis:%lf

277",s);NONO();voidNONO(){/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/FILE*rf,*wf;inti,j,a[5][5];doubles;

278rf=fopen(',C:\\WEXAM\\24990001\\in.dat,',Hr,');wf=fopen("C:\\WEXAM\\2499(X)01\\out.dal",“w“);for(i=0;i<5;i++)for(j=0;j<5;j++)fscanf(rf,"%dM,&a[i][j]);s=fun(a);fprintf(wf,n%lf

279n,s);fclose(rf);fclose(wf);}65五套#include答案:x[i]/Nj++i++答案:num[k]=0;switch(*s)点评:第•处:num初始化错误,应为:num[k]=0;o第二处:由于s是指针型变量,所以应改为:switch(*s)o3.请编可函数fun,函数的功能是求出二维数组周边元素之和,作为函数值返回。二维装组里的值在主函数中赋予。例如:二全数组中的值为13579则函数值为61。注意:部分源程序存在文件PR0G1.C文件中。请勿改总)主函薮其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include#defineM4#defineN5intfun(inta[M][N])main(){intaa[M][N]={{13,5,7,9),{299,9,4},{6,9,998},{13,5,7,0});intij,y;voidNONO();printf("Theoriginaldatais:

280");

281for(i=0;i

282H);)y=fun(aa);printf("

283Thesum:%d

284M,y);printf(n

285H);NONO();voidNONO(){/*请在此函数内打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/inti,j,y,k,aa[M][N];FILE*rf,*wf;rf=fopen(,,C:\\WEXAM\\24990001\\in.datH;,rn);wf=fopen("C:\\WEXAM\\24990001\\out.dat",“w“);for(k=0;k<10;k++){for(i=0;i

286H,y);)fclose(rf);fclose(wf);}答案:inttot=0,i,j;for(i=0;i

287for(i=1;ivoidfun(intarray[3J[3J)main()intij;voidNONO();intarray[3][3]={{1(X),200,300),{400,500,600),{700,800,900}};for(i=0;i<3;i++){for(j=0;j<3;j++)printf(H%7d”,array[i][j]);printf("

288,');}fun(array);printf("ConvertedarrayAn*');for(i=0;i<3;i++){for(j=0;j<3;j++)

289primfC%7d”,array[i]|j]);printf("

290,');}NONO();voidNONO()(/*请在此函数内打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。号inti,j,array[3][3];FILE*rf,*wf;rf=fopen(T:\\WEXAM\\24990001\\in.datM,V);wf=fopen("C:\\WEXAM\\24990001\\out.dat",“w“);for(i=0;i<3;i++)for(j=0;j<3;j++)fscanf(rf,"%dn,&array[i][j]);fun(array);for(i=0;i<3;i++){for(j=0;jv3;j++)fprintf(wfJ%7d”,array[i][j]);fprintf(wf,"

291H);}fclose(rf);fclose(wf);)答案:inti,j,arr[3][3];

292memcpy(arr,array,9*sizeof(int));for(i=0;i<3;i++)for(j=0;j<3;j++)array[i][j]=arr[j][i];答案:a[0][i]#defineMAX100intfun(intlim,intaa[MAX])(/*以下代码仅供参考*/inti,j,k=O;/*其中变量k用于统计素数个数*/for(i=2;i<=lim;i++)(/*以下完成判断aa数组中小于或等于lim的素数并统计个数*/)returnk;)main()(intlimit,i,sum;voidNONO();intaa[MAX];printf("输入一个整数");scanf("%dn,&limit);sum=fun(limit,aa);for(i=0;i

293^,);printf(M%5dn,aa[i]);

294)NONO();voidNONO(){/*请在此函数内打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/FILE*rf,*wf;intlimit,i,sum,aa[MAX];rf=fopen(',C:\\WEXAM\\24990001\\in.dat,';,rn);wf=fopen("C:\\WEXAM\\2499(X)01\\out.dal","w“);fscanf(rf,"%d'\&limit);sum=fun(limit,aa);for(i=0;i

295,\aa[i]);fclose(rf);fclose(wf);)答案:for(j=2;j<=(i/2);j++)if(i%j=0)break;if(j>(i/2))aa[k++]=i;第六十九套答案:[N]ii+1答案:aa[i]=m%k;printf(M%dM,aa[i-1J);3.编写一个函均从num个字付串中找出最长的一个字符串,并通过形参指针max传回该串地址。(注意:主函被中用****作为结束输入的林急函数fun中给出的语句权供参考。)注意:部分源程序在文件PR0G1.C中。请勿改拟)主函薮mai痛]其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若左语句。#include#includevoidfun(char(*a)[81],intnum,char**max)/*以下代码仅供参考*/inti,k=O,len,maxlen;/*k为a数组中最长串所在元素的下标,初始为0,maxlen为其串长*/

296maxlen=strlen(a[k]);for(i=l;i

297max=%s

298,,,ps);NONO();)voidNONO()(/*请在此函数内打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/charss[20][81],*ps;intn,i=0;FILE*rf,*wf;rf=fopen(℃:\\WEXAMW24990001Win^afW*);wf=fopen(nC:\\WEXAM\\24990001Wout.dat","w'1);fgets(ss[i],81,rf);while(!stmcmp(ss[i],"****",4)==0)i++;fgets(ss[i],81,rf);}n=i;

299fun(ss,n,&ps);fprintf(wf,n%sM,ps);fclose(rf);fclose(wf);}答案:if(strlen(a[i])>maxlen){maxlen=strlen(a[i]);第七十套答案:0II1答案:t=t-l.O/i;returnt请编写丁个函数,函数的功能是删除字符串中的所有空格。例如主函数电输入"asdafaaz67”,则输出为"asdafaaz67"。注意:部分源也用在文件PR0G1.C中。请勿改动主函薮mai通]箕它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include#includevoidfun(char*str)main()charstr[81];voidNONO();printfC^nputastring:**);gets(str);puts(str);fun(str);printf(H***str:%s

300u,str);NONO();}voidNONO()(/*请在此函数内打开文件,输入调试数据,调用fun函数,输出数据,关闭文件。*/charstr[81];intn=0;FILE*rf,*wf;rf=fopen(',C:\\WEXAM\\24990001\\in.dat,,;,rH);wf=fopen("C:\\WEXAM\\24990001\\out.dat",“w“);while(n<10){

301fgets(str,80,rf);fun(str);fprintf(wf,M%sM,str);n++;)fclose(rf);fclose(wf);}答案:char*p=str;inti=0;while(*p){if(*p!=*')str[i++]=*p;P++;}str[i]=0;第七十一套答案:kNalk][i]答案:for(i=strlen(t)-1;i;i-)if(t[j]>t[j+l])

302字母:霸建犍麴程磐疆幅Q。…,\bc4EFg”,则应输出"aBc4EFg”。罂IB请勿改知主函你编写的若干语句序在文件PR0G1.C文件中。main^其它函数中的任何内容,仅在函数fun的花括号中填入#include#includevoidfun(char*ss)voidmain(void)(chartt[5l];voidNONO();printf("

303Pleaseenterancharacterstringwithin50characters:

304");gets(tt);printf(H

305

306Afterchanging,thestring

307V,%sV,M,tt);fun(tt);printf(''XnbecomesXnV'%s\'"\tt);NONO();}voidNONO()(/*请在此函数内打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/chartt[51],ch;FILE*rf,*wf;intlen,i=0;rf=fopen(',C:\\WEXAM\\2499000l\\in.dat,',HrH);wf=fopen(KC:\\WEXAMW24990001Wout^af/'w0);while(i<10){fgets(tt,50,rf);len=strlen(tt)-1;ch=tt[lenj;if(ch==*

308'IIch==Oxla)tt[len]=0;fun(tt);fprintf(wf,M%s

309'\tt);i++;

310fclose(rf);fclose(wf);)答案:char*p=ss;inti=0;while(*p){if((i%2)&&(*p>=,a,&&*pv='z'))*p■=32;P++;i++;)returnss;第七十二套答案:kN-lpem..te案答改填修中誉!p不括一位后中一塞.C和函.位该RO.罢=1存Lin4£-b序嵋是次=4源函句眄式依a=分主语M方数当3干fur的位:.改若数并个如意勿的函合请写#mcludevoidfun(inta,intb,long*c)main(){inta,b;longc;voidNONO();printf(HInputa,b:");scanf(M%d%dn,&a,&b);fun(a,b,&c);printf(MTheresultis:%ld

311",c);NONO();voidNONO(){/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/FILE*rf,*wf;inti,a,b;longc;rf=fopen("C:\\WEXAM\\24990001\\in.dat",T');wf二fopen(”C:\\WEXAM\\24990001\\out.dat",“w“);for(i=0;i<10;i++){fscanf(rf,n%d,%dH,&a,&b);fun(a,b,&c);

312fprintf(wf,Ma=%d,b=%d,c=%ld

313",a,b,c);)fclose(rf);fclose(wf);}答案:*c=(a%10)*1000+(b%10)*100+(a/10)*10+(b/10);第七十三套答案:j0i++答案:for(i=2;i<=m;i++)y-=1.0/(i*i)m个人的成貌存放在score数组里,请编写函数fun,它的功能是:将低于平均分的人数作为函象值返回,将低于幸均分的分数放在below所指的数组中。例如,当score数组中的数据为:10,20、30、40、50、60、70、80、90时,函数板回的人数应该是4,below中的数据应为:10、20、30、40。注熹:部分源程序在文件PR0G1.C文件中。请勿改总)主函薮mai痛]箕它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include#includeintfun(intscoref],intm,intbelowf])main(){inti,n,below[9];voidNONO();intscore[9J={10,20,30,40,50,60,70,80,90);n=fun(score,9,below);printf(n

314Belowtheaveragescoreare:");for(i=0;i

315fprintf(wf,n

316H);)fclose(rf);fclose(w0;)答案:floatav=0.0;inti,j=0;for(i=0;iscore[i])below[j++J=score[i];returnj;第七十四套答案:t,ss[i]0答案:if(i%k==o)if(k>=i)3.

317编写函数fun,它的功.1能是:求出能整除形参x且不是偶数的各整数,并按从小到大的顺序放色p所指的教组中,这些除数曲步数通过形参遮回。例如,若x卡的值为:35,则有4个数符合要求,它们是:1,5,7,35。注意:部分源程序在文件PROGLC文件中。请勿改臣)主函…你编写的若干语句。用口其它函数中的任何内容,仅在函数fun的花括号中填入#includevoidfun(intx,intpp[],int*n)main(){intx,aa[1000],n,i;voidNONO();printf(n

318Pleaseenteranintegernumber:

319n);scanf("%d",&x);fun(x,aa,&n);for(i=0;i

320,');NONO();)voidNONO(){/*本函数用于打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/intx,aa[1000],n,i,j;FILE*fp;fp=fopen("C:\\WEXAM\\24990001\\out.dat",““);for(j=0;j<10;j++){x=30+j;fun(x,aa,&n);for(i=0;i

321第七十五套答案:sreturn0答案:doublefun(intn)c=a;a+=b;b=c;点评:第一处:由于计算的实型值要通过函数返I可,所以必须定义函数的返I可类型,只要int或void可以省略,其他都要定义类型。由于返回是实型值,所以应在数名前加上double或float等定义。第二处:根据公式可知,在for循环内b的值应是c。的出数的数掘参分主语写。仅:改若编中句意勿的请组语注请写n若fur,考源函句5,的7^文相匕匕宜是则于:大出将输..应L数OG函PR它形19素70卜31K,s、.v1X/3靠支紧2目无m2匕日《口幺一所中XX皿#includevoidfun(intm,intk,intxx[])(/*以下代码仅供参考*/inti,j=l,t=m+l;while(j<=k)(/*以下完成判断素数,并存放到数组xx中*/)}main()(intm,n,zzflOOO];voidNONO();printf(n

322Pleaseentertwointegers:1');scanf(H%d%dM,&m,&n);fun(m,n,zz);for(m=0;m

323n);NONO();

324voidNONO(){/*本函数用于打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/intm,n,zz[1000],i;FILE*rf,*wf;rf二fopen("C:\\WEXAM\\24990001\\in.datYT');wf=fopen("C:\\WEXAM\\24990001\\out.dat",“w“);for(i=0;i<10;i++){fscanf(rf,H%d%d”,&m,&n);fun(m,n,zz);for(m=0;m

325n);)fclose(rf);fclose(wf);}答案:for(i=2;ivoidfun(int*s,intt,int*k)main()(

326inta[10]={876,675,896,101,301,401,980,431,451,777},k;voidNONO();fun(a,10,&k);printf(H%d,%d

327'\k,a[k]);NONO();voidNONO(){/*本函数用于打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/inta[10],i,kJ;FILE*rf,*wf;rf=fopen("C:\\WEXAM\\24990001\\in.dat',;,r");wf=fopen("C:\\WEXAM\\24990001\\out.dal",“w“);for(i=0;i<10;i++){for(j=0;j<10;j++)fscanf(rf,,'%d'\&a|j]);fun(a,10,&k);fprintf(wf,u%d,%d

328M,k,a[k]);)fclose(rf);fclose(wf);)答案:inti,pos=0,max=*s;fbr(i=1;i=xa)3.编写函数fun,妻功能是:根据以下公式求P的值,结果由函数值带回。m与n为两个正整数且要篇>n。m!P=nl(m-n)!

329例如।m=12,n=8时,运行结果为495.000000。注意:部分源程序在文件PR0G1.C文件中。请勿改良)主函薮mair^ll箕它函数中的任何内容,仅在函数fun的花括号中填入你编写的若手语句。#includelongjc(intm)(longs=l;inti;for(i=l;i<=m;i++)s=s*i;returns;)floatfun(intm,intn)main()/*主函数*/{voidNONO();printf(,,P=%f

330M,fun(12,8));NONO();voidNONO(){/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/FILE*fp,*wf;inti,m,n;floats;fp=fopen(HC:\\WEXAMW24990001\\in.dat,,;,rH);wf=fopen("C:\\WEXAM\\24990001\\out.dat",“w“);for(i=0;i<10;i++){fscanf(fp,"%d,%dH,&m,&n);s=fun(m,n);fprintf(wf,n%f

331H,s);)fclose(fp);fclose(wO;)答案:floatp;p=1.O*jc(m)/jc(n)/jc(m-n);returnp;第七十八套答案:48sum答案:if((k%13=0)II(k%17=0)))

3323.编写函数fun,它的功...是:求小于形参n同时能被3与7整除的所有自然数之和的平方根,并作为函数黄返回。例如若n为1000时,程序输出应为:s=153.909064。注意:部分源程序在文隹PR0G1.C文件中。请勿改凝主函薮mai痛]箕它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include#includedoublefun(intn)main()/*主函数*/{voidNONO();printf(Hs=%f

333",fun(1000));NONO();)voidNONO(){/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/FILE*fp,*wf;inti,n;doubles;fp=fopen(,,C:\\WEXAM\\24990001\\in.dal,,;'r,');wf=fopen(MC:\\WEXAM\\24990001\\out.dat,,,,,wn);for(i=0;i<10;i++){fscanf(fp,"%d",&n);s=fun(n);fjprintf(wf,H%f

334n,s);)fclose(fp);fclose(wf);)答案:doublesum=0.0;inti;for(i=21;i<=n;i++)if((i%3==0)&&(i%7==0))sum+=i;returnsqrt(sum);第七十九套答案:*s1k[n]答案:floatfun(intk)returns;

3353.编写函数fun,它的功能是:计算并输出下列级数和:111S=++—+1X22X3n(n+l)例如,当n=10时,函数值为:0.909091.注意:部分源程序在文件PR0G1.C文件中。请勿改新主函薮mai向]箕它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#includedoublefun(intn)main()/*主函数*/{voidNONO();printf(',%f

336H,fun(10));NONO();)voidNONO(){/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/FILE*fp,*wf;inti,n;doubles;fp=fopen(MC:\\WEXAM\\24990001\\in.dat,,,,,rH);wf=fopen(,,C:\\WEXAM\\24990001\\out.dat,';,wn);for(i=0;i<10;i++){fscanf(fjp,M%dMt&n);s=fun(n);fprimf(wf,s);}fclose(fp);fclose(wf);)答案:doubles=0.0;inti;for(i=1;i<=n;i++)s=s+1.0/(i*(i+1));returns;第八十套答案:ips[j]tp答案:doublefun(intn)returnsum;

3373.编写函数fun,它的功能是计算下列级数和,和值由函数值返回。S-1+x+—+—2!3!例如,当n=10,x=0.3时,函数值为1.349859。勺主意:邯分源矍序在文件PR0G1.C弗中。请囱改动主施教mai施箕它函数中的任行内容,仅在函数fun的花括用中填入你编写的括干语句。#include#includelongjc(intn)(longs=1;inti;for(i=1;i<=n;i++)s*=i;returns;}doublefun(doublex,intn)main(){voidNONO();printf(n%f

338n,fun(0.3,10));NONO();)voidNONO(){/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/FILE*fp,*wf;inti,n;doubles,x;fp=fopen(,,C:\\WEXAM\\24990001\\in.dat,',,,rM);wf=fopen(,,C:\\WEXAM\\2499000l\\out.dat,';,wH);for(i=0;i<10;i++){fscanf(fp,”%lf,%d“,&x,&n);s=fun(x,n);fprintf(wf,s);)fclose(fp);fclose(wf);}答案:doubles=1.0,y=x;inti;fbr(i=1;i<=n;i++){

339s+=y/(double)jc(i);

340y*=xreturns;第八十一套答案:Ni答案:a2=k/10;returni;3.假定:符串尾部的*号全部删隹,例如,字将串中的内内容为肝口中间的*号不删除。.****A*BC*DEF*G*******,m,它的功能是:将字删除后,容应当是:****a*bc*def*g。在编写函数时,不得使用C语言提供的字:注意:部分源程序在文件PR0G1.C文徒中。请勿改办主函薮mai痛]箕它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#includevoidfun(char*a)main(){chars[81];voidNONO();printf(HEnterastring:

341");gets(s);fun(s);printfC'Thestringafterdeleted:

342H);puts(s);NONO();}voidNONO(){/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/FILE*in,*out;inti;chars[81];in=fopen(*'C:\\WEXAM\\24990001\\in.dat",Mrn);out=fopen(,'C:\\WEXAM\\24990001\\out.datM,,'wM);for(i=0;i<10;i++){fscanf(in,M%sM,s);fun(s);fprintf(out,n%s

343H,s);

344fclose(in);fclose(out);)答案:char*p=a;while(*p)p++;p—;while(*p=='*')p—;P++;*p=0;第八十二套答案:Nkss[i]答案:intk=0;while(*pII*q)3.藕售基霹京蟆本号全部删除「在编写函数时串函数。函数fun中给出的语句仅供参考。„如,子符串中的内容为:****A*B4*DEF*G*******,删除后,于符串中的内容应当是:****ABCDEFGo只包含字母和*号。请编写函数fun,它的功能是:陡了字—。八*6+30不得使用C语吉提供请笏洗知主函你编写的若干语句.序在文件PR0G1.C文件中。main^箕它函数中的任何内容,仅在函数fun的花括号中填入#includevoidfun(char*a)(/*以下代码仅供参考*/inti=O,k;while(a[i]=='*')i++;k=i;while(a[i]!=Vy)/*以下程序段实现非*字符前移*/)a[k]=、O';main()

345{chars[81];voidNONO();printf(MEnterastring:

346");gets(s);fun(s);printf("Thestringafterdeleted:

347M);puts(s);NONO。;)voidNONO(){/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/FILE*in,*out;inti;chars[81];in=fopen(,'C:\\WEXAM\\24990001\\in.dat,';,rn);out=fopen("C:\\WEXAM\\24990001\\oul.dal","w“);for(i=0;i<10;i++){fscanf(in,n%s\s);fun(s);fprintf(out,n%s

348H,s);}fclose(in);fclose(out);)答案:if(a[i]!=**')a[k++]=a[i];i++;第八十三套答案:Nsubstr0答案:fun(intx,inty,intz)returnj;假定输入的字符串中只包含字母和*号。,编写函数fun,它的功能是:只删,符串制导和尾部的*号,串中李黄之间的*粤都不删除。形参般出了字母电的一,府串中前导*号的个数,步参e给由了字符串中最后*导两个F导使用C语言提供的字符串函数。声在雷矗嫄系得便3.例如,字符串中的内容为:****A*BC*DEF*G*******,删除后,字符串中的内容应当是:A*BC*DEF*G。注意:部分源程序在文件PR0G1.C文件中。请勿改割主函薮mai通1其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若手语句。#includevoidfun(char*a,intnjnth,inte)main(){chars[81intm=0,tn=O,fn=0;voidNONO();printf("Enterastring:

349");gets(s);t=f=s;while(*t){t++;m++;}

350Iwhile(*t='**){t—;tn++;}while(*f*=='*'){f++;fn++;}fun(s,m,fn,tn);printf(MThestringafterdeleted:

351H);puts(s);NONO();)voidNONO(){/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/FILE*in,*out;inti;chars[81],*t,*f;intm=0,tn=O,fn=O;in=fopen("C:\\WEXAM\\24990001\\in.dat”Jr");out=fopen("C:\\WEXAM\\24990001\\out.dat”Jw”);for(i=0;i<10;i++){fscanf(in,n%sM,s);t=f=s;m=0;tn=O;fn=O;while(*t){t++;m++;}t-;while(*t==***){t—;tn++;)while(*f==,*t){f++;fn++;}fun(s,m,fn,tn);fprintf(out,n%s

352K,s);}fclose(in);fclose(out);)答案:char*p=a;intj=O,len=O;while(*p){p++;len++;)while(j

353假定输入的拜串中只包含字母和*号。请编写函数fun,它的功熊是:使字符串的前导*号襁多壬n个;若多于n个,则对除多余的*号,若少于或等于n个,则什么也不做需字后串巾间和尾部的*号不删除。函数fun中给出的语句仅供参春。例如,字符串中的内容为:*******A*Bc*DEF*G****,若n的值为4,删除后,字符串中的内容应当是:****A*BC*DEF*G****;若n的值为鼠则字符串中的内容仍为:*******a*bC*DEF*G****。n的值在主函数中输入。在编写函数时,不得使用C语言提供的字符串函数。注意:部分源矍序在文件PROGLC文件中。请勿改总)主函薮mai旃]箕它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#includevoidfun(char*a,intn)(/*以下代码仅供参考*/inti=O,j,k=O;while(a[k]==**')k++;/*k为统计*字符个数*/if(k>n)(i=n;j=k;/*以下完成将下标为k至串尾的字符前移k-n个位置*/}}main(){chars[81J;intn;voidNONO();printf("Enterastring:

354n);gets(s);printf(HEntern:H);scanf(M%dM,&n);fun(s,n);printf(MThestringafterdeleted:

355H);puts(s);NONO();

356voidNONO(){/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。FILE*in,*out;inti,n;chars[81];in=fopen(“C:\\WEXAM\\24990001\\in.dat\"r");out=fopen(,'C:\\WEXAM\\24990001\\out.dat,,;,w");for(i=0;i<10;i++){fscanf(in,"%sn,s);fscanf(in."%dM,&n);fun(s,n);fprintf(out,s);)fclose(in);fclose(out);)答案:for(;a[j]!=0;j++)a[i++]=a[j];a[i]=0;第八十五套答案:ab.namescore[i]答案:s[j++]=s[i];sljk'O';3.编写函数fun,它的功能是;将字:fun中给出的谙哂伊―-:*******a*bc*def*g****,移动后,t假定输入的字代串中只包含字母和*号。请:符串中的前导*号全部移到字符串的尾部。函薮例如,字符串中的内容为一,a…一.容应当是:A疝C*DEF*G***********<>在编写函数时,不得使用Cl吾落函数。在意:都分源程序在文件PROGLC文件中。你编写的若干语句。请勿改务主函薮mai通]其它函数中的任何内容,仅在函数fun的花括号中填入#includevoidfun(char*a)(/*以下代码仅供参考*/char*p,*q;intn=0;p=a;while(*p==***)/*统计串头'*'个数n*/

357{n++;p++;)q=a;/*向前复制字符串,请填写相应的语句完成其功能*/for(;n>0;n-)/*在串尾补n个**/*q4-4-=**;*q='\0,;)main(){chars[81];intn=0;voidNONO();printf(MEnterastring:

358");gets(s);fun(s);printf("Thestringaftermoveing:

359");puts(s);NONO();}voidNONO(){/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/FILE*in,*out;inti;chars[81];in=fopen(”C:\\WEXAM\\2499000IWin.dat丫T);out=fopen("C:\\WEXAM\\24990001\\out.dat",“w”);for(i=0;i<10;i++){fscanf(in,"%s'\s);fun(s);fprintf(out,H%s

360K,s);)fclose(in);fclose(out);}答案:while(*p){*q=*p;p++;q++;)第八十六套答案:->sno->name&t

361答案:doublefun(doublea,doublexO)if(fabs(xl-x0)>0.00001),仅在函数fun的花括号中填入:•通L数成是数OG函组能人PR它绩功生言成的姜丽和它的在m号1分序Ina学un^w。由虹平源函句录醐于分主语记颦野干的扁于:改若生萨高意勿的学请,注请写#include#defineN12typedefstruct{charnum[10];doubles;}STREC;doublefun(STREC*a,STREC*b,int*n)main(){STRECs[N]={{°GA05H,85},{MGA03';76},{,,GA02,1,69},{MGA04n,85),{“GAO1”,91},{“GA07”,72},{“GA08”,64},{“GA06”,87},{“GA09”,60},{“GA11”,79},{“GA12”,73},{“GA10”,90}};STRECh[N],t;HLE*out;inti,j,n;doubleave;ave=fun(s,h,&n);printf(nThe%dstudentdatawhichishigherthan%7.3f:

362",n,ave);for(i=0;i

363n,h[i].num,h[i].s);printf("

364n);out=fopen(uC:\\WEXAMW24990001Wout.dafVw0);fprintf(out,”%d

365%7.3f

366”,n,ave);for(i=0;i

367,',h[i].s);fclose(out);答案:doublet=0;inti;*n=0;for(i=0;it)b[(*n)++]=a[i];returnt;第八十七套答案:structstudenta.namea.score[i]答案:if(p==n)return-1;a[i]=a[i+l];

3683.学生的记录由学号和成绩组成,N名学生的数据己在主函数中放人结构体数组s灯遒编警I数fun,它的功能是:把分数最低的学生数据放在b所指的数组中,注意:方数盘低的华生可熊不止一个,函数返回分数最低留学生的人数。注意:邯分源程序在支住PROGLC文件中。请勿改是)主函薮mai通]箕它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include#defineN16typedefstruct{charnum[10J;ints;}STREC;intfun(STREC*a,STREC*b)main(){STRECslN]={{MGA05n,85},{“GA03”,76},{“GA02”,69},「GA04”,85},{UGAO1,,,91},{"GAO7,1,72},{“GA08”,64},{“GA06”,87},{"GA015M,85},{MGA013M,91},{MGA012M,64},{MGA014M,91},{“GAO11”,91},{PAO17H,64},{"GA018”,64},{“GAO16",72});STRECh[N];inti,n;FILE*out;n=fun(s,h);

369prmtf(The%dlowestscore:

370,n);fbr(i=0;i

371M,h[i].num,h[i].s);prinlf("

372”);out=fopen("C:\\WEXAM\\24990001\\out.dat“Jw”);fprintf(out,H%d

373H,n);for(i=0;i

374,\h[i].s);fclose(out);)答案:inti,j=0,min=a[0].s;for(i=0;ia[il.s){j=0;b[j++]=a[i];min=a[i].s;}elseif(min==a[i].s)b[j++]=a[i];)returnj;88答案:structstudent*a->score[i]a答案:char*fun(char(*sq)[M])returnsp;。入改填修中售!p不括据花数的的UnN.在415警㈱...两乂和函的鳖该.数OG数PR函、十文其15^2量20在丽^^=1存M>:&在b序ma睛放I募。旗是次=4源函句尸式依a=分主语ml方数当野干fur的位:.改若数并个如意勿的函合请写。位编#includevoidfun(inta,intb,long*c)

375main(){inta,b;longc;voidNONO();printf(HInputa,b:");scanf(',%d%dH,&a,&b);fun(a,b,&c);printf(MTheresultis:%ld

376H,c);NONO();}voidNONO(){/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/HLE*rf,*wf;inti,a,b;longc;rf=fopen(”C:\\WEXAM\\24990001\\in.dat",T');wf=fopen("C:\\WEXAM\\24990001\\out.dal\"w");for(i=0;i<10;i++){fscanf(rf,H%d,%dn,&a,&b);fun(a,b,&c);fprintf(wf,ua=%d,b=%d,c=%ld

377u,a,b,c);}fclose(rf);fclose(wf);)答案:*c=(b%10)*1000+(a/10)*100+(b/10)*10+a%10;第八十九套答案:structstudentn-1a[i].name,a[j].name答案:q=p+i;while(q>p)3.的数强■在主函数中放入结构体数组个数舱内的学生数据放在b所指的数学生的记录由学号和成绩组成,N名学生1s电谓编写函数fun,它的功能是:把指定分:组审,方数范围内的学生人数由函数推返回。例如,输入的分数是6069,贝J应当把分数在60到69的学生数据进行输出,包含60分和69分的看生数:注意:部分源痛内江请勿改动主函去你编写由若用语句。主函数中将把60放在low中,把69放在heigh中。序在文件PR0G1.C文件中。门日府口箕它函数中的任何内容,仅在函数fun的花括号中填入

378#include#defineN16typedefstruct{charnum[10];ints;}STREC;intfun(STREC*a,STREC*b,int1,inth)main(){STRECs[N]={{nGA005",85},{nGA003",76},{“GA002”,69},{nGA004,;85},{“GAOO1”,96},{“GA007”,72},{HGA008",64},{“GA006”,87},{"GAO15';85},{nGAO13",94},{MGAO120,64},{“GAO14”,91},{MGA01r\90},{HGA017H,64},{"GA018\64},{HGA016*72});STRECh[N],tt;RLE*out;inti,j,n,low,heigh,t;printf("Enter2integernumberlow&heigh:");scanf(H%d%dM,&low,&heigh);if(heigh

379M,low,heigh);for(i=0;i

380",h[i].num,h[i].s);printf(H

381n);out=fopen("C:\\WEXAM\\24990001\\out.dar’,"w”);n=fun(s,h,80,98);fprintf(out,n%d

382",n);for(i=0;ih[j].s){tt=h[i];h[i]=h[j];h[j]=tt;}for(i=0;i

383M,h[i].s);fprintf(out,"

384,');fclose(out);)答案:inti,j=0;for(i=0;i=1&&a[i].s<=h)b[j++]=a[i];returnj;第九十套答案:fp答案:n=strlen(aa);ch=aa[i];3.N名学生的成绩己在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。■编写函数fun,它的功能是:找出生生的最高分,由函数值返回。

385注意:注胃:手分源程序在文佳PR0G1.C文件在请勿改反)主函薮mai际]其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include#include#defineN8structslist{doubles;structslist*next;};typedefstructslistSTREC;doublefun(STREC*h)STREC*creat(double*s){STREC*h,*p,*q;inti=0;h=p=(STREC*)malloc(sizeof(STREC));p->s=0;while(is=s[i];i++;p->next=q;p=q;)p->next=0;returnh;}outlist(STREC*h){STREC*p;p=h->next;printf(,,head,');do{printf(n->%2.0f\p->s);p=p->next;}while(p!=0);printf(M

386

387M);)main(){doubles[N]={85,76,69,85,91,72,64,87),max;voidNONO();STREC*h;h=creat(s);outlist(h);max=fun(h);printf(nmax=%6.1f

388u,max);NONO();)voidNONO(){/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/FILE*in,*out;inti,j;doubles[N],max;STREC*h;

389in=fopen("C:\\WEXAM\\2499(X)01\\in.dal",T');out=fopen(”C:\\WEXAM\\24990001\\out.dat",“w“);for(i=0;i<10;i++){for(j=0;j

390';max);}fclose(in);fclose(out);)答案:doublemax=h->s;STREC*p;p=h->next;while(p){if(p->s>max)max=p->s;p=p->next;)returnmax;第九十一套答案:doubleflf2答案:p=h->next;p=p->next;3.,请编写函数fun,函数的功能是、:到断字符串是否为回文?若是,函数返回1,主函教由输出:YES,否则返向0,主鬲教中输出NO。回文是指顺读和倒读却T辛的于符串。例如,字行串LEVEL是回文,而字符串123312就不是回文。足意:部分源程序在文件PR0G1.C轧请卤改昌)主扇羲main^口箕它函装中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include#include#defineN80intfun(char*str)main(){chars[N];voidNONO();printf(HEnterastring:");gets(s);printf(',

391

392M);puts(s);if(fun(s))printf(nYES

393M);elseprintf(nNO

394M);NONO();}voidNONO(){/*请在此函数内打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/FILE*rf,*wf;inti;chars[N];rf=fopen(nC:\\WEXAMW24990001\\in.dat,,;,rn);wf=fopen(HC:\\WEXAM\\2499000IWout.dafVw0);for(i=0;i<10;i++){fscanf(rf,"%sH,s);if(fun(s))fprintf(wf,M%sYES

395M,s);

396elsefprintf(wf,M%sNO

397u,s);}fclose(rf);fclose(wf);}答案:inti,j=strlen(str);for(i=0;i

398return1;第九十二套答案:h->nextp->next点评答案:p=h->next;p=p->next;请编写函数fu1k函数的功能是:将M行N列的二维数组中的数一飞一维数组此一维数组中数据的个数存放在形参族指的a,二维数组中的数据为:理顺序元中。333333334444444455555555则一维数组中的内容应是:333333334444444455555555。注意:部分源程序在文件PR0G1.C中。请勿改反)主函^你编写的若干语句。其它函数中的任何内容,仅在函数fun的花括号中填入#includevoidfun(int(*s)[10],int*b,int*n,intmm,intnn)main(){intw[10][10]={{33,33,3333),{44,44,44,44},{55,55,55,55}},ij;inta[100]={0},n=0;voidNONO();printf(uThematrix:

399H);for(i=0;i<3;i-H-){for(j=0;j<4;j++)printf(M%3dM,w[i][j]);printf(',

400M);)fun(w,a,&n,3,4);printf(MTheAarray:

401°);for(i=0;i

402

403,');NONO();)voidNONO(){/*请在此函数内打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/FILE*rf,*wf;inti,j,k;intw[10][10],a[100],n=0,mm,nn;rf=fopen(,,C:\\WEXAM\\24990001\\in.datM,T,);

404wf=fopen(MC:\\WEXAM\\2499000l\\out.dat,',,,wn);for(k=0;k<5;k++){fscanf(rf,H%d%d",&mm,&nn);for(i=0;i

405H);)fclose(rf);fclose(wf);)答案:inti,j,k;for(i=0;ivoidfun(ints[][10J,intb[],int*n,intmm,intnn)/*以下代码仅供参考*/inti,j,np=O;/*np用作b数组下标*/n=np;

406main(){intw[10][10]={{33,3333,33},{44,44,44,44},{55,55,55,55}),i,j;inta[100]={0},n=0;voidNONO();printf(MThematrix:

407M);for(i=0;i<3;i++){for(j=0;j<4;j++)printf(H%3dM,w[i][j]);printf(M

408M);}fun(w,a,&n,3,4);printf("TheAarray:

409n);for(i=0;i

410

411,');NONO();)voidNONO(){/*请在此函数内打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/FILE*rf,*wf;inti,j,k;intw[10][10],a[100],n=0,mm,nn;rf=fopen("C:\\WEXAM\\24990001\\in.dat”,T');wf=fopen("C:\\WEXAM\\24990001\\out.dal"Jw“);for(k=0;k<5;k++){fscanf(rf,*'%d%d'\&mm,&nn);for(i=0;i

412M);}fclose(rf);fclose(wf);)答案:fbr(i=0;i

413按顺庠合并组就一个新的字符串。函数fun中给出的语句仅供参考。例如,字符串数组中的论'字符串为AAAABBBBBBBCC则合并后的字符串的内容应是:AAAABBBBBBBCC,提示:strcat(a,b)的坊第是将字符串b复制到字符串a的串尾上,成为一个新串。注意:郃分源程序在文件PR0G1.C中。请卤改?主品薮mai痛1箕它函装中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include#include#defineM3#defineN20voidfun(chara[M][N],char*b)(/*以下代码仅供参考*/inti;*b=0;main(){charw[M][N]={"AAAA',,"BBBBBBB,,,,,CC"),a[100];inti;voidNONO();printf(HThestring:

414H);for(i=0;i

415”);fun(w,a);printf('TheAstring:

416u);printf(,t%s,,,a);printf(M

417

418M);NONO();}voidNONO(){/*请在此函数内打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/FILE*rf,*wf;charw[M][N],a[100];inti;rf=fopen("C:\\WEXAM\\24990001\\in.dat',;,r");wf=fopen(,,C:\\WEXAM\\24990001\\out.dat,,;,wn);for(i=0;i<10;i++){fscanf(rf,n%s%s%sn,w[0],w[lj,w[2]);fun(w,a);fprintf(wf,"%s

419M,a);

420fclose(rf);fclose(wf);答案:inti;*b=0;for(i=0;inextqp->next答案:while(*s)s++;3.请编写函数fun,函数的功能是:移动一维数组中的•内容;若数组里有n个整标丛0至蛔含p,p小壬等于n-1)的数组元素平移到数组的最后。维数组里的原始内容为:1,2,3,4,5,6,7,8,9,10;p的值为3。移动.中的内容应为25,6,7,8,9,10,1,2,3,4。同扮源程序在文件PR0G1.C中。数,襄求把下标后,一缰数组中的内容应注最南会源色序在…口请勿改易)主函数mai松口其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include#defineN80voidfun(int*w,intp,intn)main(){inta[N]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15);inti,p,n=15;voidNONO();printf("Theoriginaldata:

421n);for(i=0;i

422

423Enterp:M);scanf(M%dM,&p);fun(a,p,n);printf(M

424Thedataaftermoving:

425H);for(i=0;i

426

427H);NONO();

428voidNONO(){/*请在此函数内打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/FILE*rf,*wf;inta[N],i,j,p,n;rf=fopen(',C:\\WEXAM\\24990001\\in.dat,,;,r");wf二fopen("C:\\WEXAM\\24990001\\out.dat","w“);for(i=0;i<5;i++){fscanf(rf,n%d%dH,&n,&p);for(j=0;j

429M);)fclose(rf);fclose(wf);}答案:inti,j=0,b[N];for(i=p+1;i#include#defineN80voidfun1(char*w)/*本函数的功能是将字符串中字符循环左移一个位置*/inti;chart;

430t=w[O];for(i=0;i<(int)strlen(w)-1;i++)w[i]=w[i+l];w[strlen(w)-l]=t;}voidfun(char*w,intm)/*可调用funl函数左移字符*/main(){chara[N]="ABCDEFGHIJK”;intm;voidNONO();printf(nTheoriginalstring:

431H);puts(a);printf(M

432

433Enterm:,,);scanf(',%d",&m);fun(a,m);printf("

434Thestringaftermoving:

435H);puts(a);printf("

436

437H);NONO();)voidNONO(){/*请在此函数内打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/FILE*rf,*wf;chara[N];intm,i;rf=fopen(nC:\\WEXAM\\24990001\\in.datH,T,);wf=fopen("C:\\WEXAM\\24990001\\out.dat",“w“);for(i=0;i<10;i++){fscanf(rf,n%d%sn,&m,a);fun(a,m);fprintf(wf,n%s

438",a);)fclose(rf);fclose(wf);}答案:inti;for(i=0;i

439答案:s[j++]=s[i];sU]='O';3.通编写函数fun,函数的功能是:将M行N列的二维数组中的字符数据,按列的顺序板次放到一个字符军中。例如,二维数组中西数据为:WWWWSSSSHHHH则字符串中的内容应是:WSHWSHWSHovis:部分源程苒在文件PR0G1.C申。请勿改副主函薮mai通]箕它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include#defineM3#defineN4voidfun(chars[][N],char*b)(inti,j,n=O;for(i=0;i

440n);for(i=0;i

441H);}fun(w,a);printf(nTheAstring:

442");puts(a);printf("

443

444");NONO();}voidNONO(){/*请在此函数内打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/FILE*rf,*wf;inti,j,k;chara[100],w[M][N],b;rf=fopen(nC:\\WEXAM\\24990001\\in.datM,',rn);wf=fopen(MC:\\WEXAMW24990001\\out.dat,,;,wn);for(k=0;k<10;k++){for(i=0;ivM;i++){

445for(j=0;j

446",a);)fclose(rf);fclose(wf);)答案:for(j=0;j#defineN80intfun(inta[],intn)main(){inta[NJ={2,2,2,3,4,4,5,6,6,6,67,7,8,9,9,10,10,10,10},i,n=20;voidNONO();printf(HTheoriginaldata:

447M);for(i=0;i

448

449Thedataalterdeleted:

450u);for(i=0;i

451

452'T);NONO();}voidNONO(){/*请在此函数内打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/FILE*rf,*wf;inta[N],n,iJ;rf=fopen(”C:\\WEXAM\\24990001\\in.dat”Jr”);

453wf=fopen(”C:\\WEXAM\\24990001\\ouLdat”Jw”);for(i=0;i<5;i-H-){fscanf(rl;"%d”,&n);for(j=0;j

454n);)fclose(rf);fclose(wf);)答案:inti,j=1,k=a[0];for(i=1;ifwrite答案:P=s;while(*p++);3.

455请编耳§素得,舁放在主函数的age:函数fun,函数的功熊是:统计各年龄段的人数。N个年龄通过硼用随机一二二二二二二二丁组中;要求函被把。至9岁车龄席的人数放在d[0]中,把10至19岁年龄段的人薮放在d[l]中,把20至29岁年龄段的人数放在d⑵中,其余依此类乱把100岁(含100)以上年般的人数春放在d[ioj中。造果在主函数注意:郃分源程序在文件PRQ5LC中。请勿改动主函委你编写的若干语句。二件PR0G1.C中。:main^箕它函数中的任何内容,仅在函数fun的花括号中填入#include#defineN50#defineM11voidfun(int*a,int*b)doublemd(){statict=29,c=217,m=1024»r=0;r=(r*t+c)%m;retum((double)r/m);)main(){intage[N],i,d[M];voidNONO(intd[M]);for(i=0;i

456M);for(i=0;i

457u:"%4du,age[i]);printf(M

458

459H);fun(age,d);for(i=0;i<10;i++)printf(t,%4d—%4d:%4d

460M,i*10,i*10+9,d[i]);printf(nOver100:%4d

461",d[10]);NONO(d);)voidNONO(intd[MJ){/*请在此函数内打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/FILE*wf;inti;wf二fopen("C:\\WEXAM\\24990001\\out.dat",“w“);for(i=0;i<10;i++)fprintf(wf,"%4d---%4d:%4d

462H,i*10,i*10+9,d[i]);fprintf(wf,HOver100:%4d

463",d[10]);fclose(wf);)答案:inti,j;for(i=0;i

464if(j>10)b[M-1]++;elseb[j]++;第一百套答案:filenamefpfp答案:p=(NODE*)malloc(sizeof(NODE));returnh;3.请编写函数fun,函数的功能是:桀让一行回。一行字符串在主函数中童入,规定防有革个空格隔开,一行的开始没有空格。字符申中单词的个缘作为函数值返.词由不写李母组成,单词之间由若干注意:郃分源程序在文件PROGLC中。请勿改新主函薮:一你编写的若干语句。Gain^l其它函数中的任何内容,仅在函数fun的花括号中填入#include#include#defineN80intfun(char*s)main(){charline[NJ;intnum=0;voidNONO();printf(MEnterastring:

465");gets(line);num=fun(line);printf(nThenumberofwordis:%d

466

467u,num);NONO();}voidNONO(){/*请在此函数内打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/FILE*rf,*wf;inti,num;charline[N],*p;rf=fopen("C:\\WEXAM\\24990001\\in.dat”,T');wf=fopen(MC:\\WEXAM\\24990001\\out.dat,,,Hwn);for(i=0;i<10;i++){fgets(line,N,rf);p=strchr(line,An');if(p!=NULL)*p=0;num=fun(line);fprintf(wf,n%d

468

469um);fclose(rf);fclose(wf);)答案:intk=1;while(*s){if(*s=='*)k++;s++;)returnk;

470点评:本题是统计字符串中的单词数。1.利用while循环语句和指针变量,当字符为空格时,则单词数k加1。2.循环结束返回院

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭