二级C上机绝密100题

二级C上机绝密100题

ID:83016956

大小:311.84 KB

页数:109页

时间:2023-09-19

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

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

二级C语言上机考试复习资料,共有100套题目一、程序填空题1、给定程序中,函数ftm的功能是根据形参i的值返回某个函数的值。当调用正确时,程序输出:x1=5.000000,x2=3.000000.xl*x1+xPx2=40.(XX)000请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果.注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#includedoublefl(doublex){returnx*x;}doublef2(doublex,doubley){returnx*y;}/**********Sund**********/_1_fun(in(i,doublex.doubley){if(i==D/**********1^Upd**********/return_2_(x);else/**********Cund**********/return_3_(x,y);)main(){doublexl=5,x2=3,r;r=fun(1,xl,x2);r+=fun(2,xl,x2);printf("

1xl=%f,x2=%f,xl*xl+xl*x2=%f

2

3',,xl,x2,r);I2、程序通过定义学生结构体数组,存储了若干名学生的学号、姓名和3门课的成绩。函数fun的功能是将存放学生数据的结构体数组,按照姓名的字典序(从小到大)排序。请在程序的下划线处填入iE确的内容并把卜划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#includc#includestructstudent{longsno;charname[10];floatscore[3];);voidfun(structstudenta[],intn)(/**********found**********/_structstudent」」;inti,j;/**********found**********/for(i=0;i<2_:i++)for(j=i+l;j0){c=a[i];a[i]=aU];a[j]=t;}}main(){structstudents[4)=({10001,"ZhangSan,;95,80,88),{10002,"LiSi",85,70.78),(10003."CaoKai",75,60.88},“0004JFangFang”,90,82,87));inti,j;printf("

4

5Theoriginaldata:

6

7");for(j=0;j<4;j++){printf("

8No:%ldName:%-8sScores:M,s[j].sno,s[j].name);for(i=0;i<3;i++)printf("%6.2f",s[j].score(i]);printfCAn");}fun(s,4);printf("

9

10Thedataaftersorting:

11

12");for(j=0;j<4;j++){printfCAnNo:%ldName:%-8sScores:",s(j].sno,s[j].name);for(i=0;i<3;i++)printf(M%6.2f",s[j].score[i]);printf("

13");3、给定程序中,函数ftin的功能是:计算形参x所指数组中N个数的平均值(规定所有数均为正数),作为函数值返回:并将大于平均值的数放在形参y所指数组中,在主函数中输出。例如,有10个正数:4630324061745154826,平均值为:30500000主函数中输出:4632404548请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include#deGneN10doublefun(doublex[],double*y){intij;doubleav;/**********IY)und**********/av=_1_0_;/**********found**********/for(i=0;iav)y[__j++3_J»x[i];yUl=-i;returnav;)main(){inti;doublex[N],y[Nl;for(i=0;i

14Theaverageis:%f

15",fun(x,y));for(i=0;y[i]>=0;i++)printf("%5.1fM,y(i]);printf("

16M);4、给定程序中,函数ftin的功能是:将a所指4X3矩阵中第k行的元素与第0行元素交换。例如,有下列矩阵:

17I2345678910II12若k为2,程序执行结果为:789456I23101112请在程序的下划线处填入正确的内容并把下划线删除.使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include#defineN3#defineM4/**********foupj£j**********/voidfun(int(*a)|NJ.int_k_1_){intij4cmp;/**********f0und**********/for(i=0;i<_2N_;i++){temp=a[0][i];a[0][i]=a[k][i]_3_;a[k][i]=temp;}}main(){intxfMHN]={{l,2,3h(4,5,6},{7,8,9),110,11,12)printf("Thearraybeforemoving:

18

19");for(i=0;i

20

21M);)fun(x,2);printfC'Thearrayaftermoving:

22

23");for(i=0;i

24

25");15、给定程序中,函数ftin的功能是将a和b所指的两个字符串转换成面值相同的整数,并进行相加作为函数值返回,规定字符串中只含9个以下数字字符。例如,主函数中输入字符串:32486和12345,在主函数中输出的函数值为:44831。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!/include#include#include#defineN9longctod(char*s){longd=0;while(*s)if(isdigit(*s))(/**********IY)und**********/d=d*10+*s-_'01_;/**********f0und**********/_s++_2_;|returnd;longfun(char*a,char*b)/**********found**********/return_Ctod(a)+ctod(b)_3_;main(){charsl[N],s2[Nl;do{printfC'Inputstringsi:M);gets(sl);}while(strlen(sl)>N);do{printfC'Inputstrings2:");gets(s2);}while(strlen(s2)>N);printfC'Theresultis:%ld

26",fun(sl,s2));6、给定程序中,函数ftin的功能是:计算卜.式前n项的和作为函数值返回。1x3x3x55x7A(2x«-1)x(2x«+l)5―-t++...4224262(2x炉例如,当形参n的值为10时,函数返回:9.612558.请在程序的下划线处填入正确的内容并把下划线删除.使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANKLC中。不得增行或删行,也不得更改程序的结构!/includedoublefun(intn){inti;doubles,t;/**********found**********/s=_0_l_;/**********found**********/for(i=l;i<=_n2_;i++){t=2.0*i;

27/**********found**********/s=s+(2.0*i-l)*(2.0*i+iV_(t*t)3_;)returns;}main(){inin="l;while(n<0){printf("Pleaseinput(n>0):");scanf("%d".&n);}printf(H

28Theresultis:%f

29",fun(n));}7、给定程序中,函数firn的功能是:在3X4的矩阵中找出在行上最大、在列上最小的那个元素,若没有符合条件的元素则输出相应信息。例如,有下列矩阵:12134781063597程序执行结果为:find:a[2]⑵=9请在程序的卜划线处填入iE确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include#defineM3#defineN4voidfun(int(*a)[Nl){inti=0j.find=0,rmax.c.k:while((i

30find=l;k=0;while(k

31Uc,a[i][c]);/**********Sund**********/i++_3_;1if(!find)printf("notfound!

32");main()(intx[M][Nl,ij;printf("Enternumberforarray:

33");for(i=0;iN5M10intfun(char(*ss)[M],inik){iniij=0,len;/**********found**********/for(i=0;i<_lN_;i++){Ien=strlen(ss[i]);/**********found**********/if(leiK=k_2_)/**********found**********/strcpy(ss(j++]^ss[i]_3_);Ireturnj;)main(){charx(N][M]={,'BeijingVShanghai,,?Tianjing,',,'NanjingM,-Wuhan");inti,f;printfC'

34Theoriginals

35

36M);for(i=Ou

37");f=fun(x,7);printf("Thestringwitchlengthislessthanorequalto7:

38M);for(i=0;i

39M);19、程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。函数fun的功能是将形参a所指结构体变量中的数据赋给函数中的结构体变量b,并修改b中的学号和姓名,最后输出修改后的数据。例如:a所指变量中的学号、姓名、和三门课的成绩依次是:10001、“ZhangSan"、95、80、88,则修改后输出b中的数据应为:10002、"LiSi"、95、80、88.请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANKLC中。不得增行或删行,也不得更改程序的结构!#include#includestructstudent(longsno;charname[10];floatscore[3];voidfun(structstudenta){structstudentb;in(i;/**********foun(]**********/b.sno=10002;/**********found**********/strcpy(_b.name2一"us『);prinlf("

40Thedataaftermodified:

41**);printf("

42No:%IdName:%s

43Scores:",b.sno.b.name);/**********foijnd**********/for(i=0;i<3;i+4-)primf("%6.2f-,b._SCOre[i]_3_);printfCAn");Imain(){structstudents=(10001."ZhangSan".95,80,88};inti;printf("

44

45Theoriginaldata:

46"):printfCAnNo:%ldName:%s

47Scores:M,s.sno,s.name);for(i=0;i<3;i++)printf("%6.2fs.score[i]);printfCW);fun(s);}10、给定程序中,函数ftin的功能是:在形参ss所指字符串数组中,将所有串长超过k的字符串中右边的字符删除,只保留左边的k个字符。ss所指字符串数组中共有N个字符串,且串长小于M。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!

48#include#include#defineN5#defineM10/**********found**********/voidfun(char(*ss)_[M]_1_,intk){inti=0;while(i<_N2_){/**********fou()(j**********/ss【il[k]=_03_;i++;}}main(){charx(N](M]={MCreate",',Modify",MSort","skip",-Delete");inti;printf(H

49Theoriginalstring

50

51");for(i=Oy

52");fun(x,4);printf("

53Thestringafterdeleted:

54

55");for(i=0;i

56M);}II、给定程序中,函数fun的功能是:把形参s所指字符串中最右边的n个字符复制到形参1所指字符数组中,形成•个新串。若s所指字符串的长度小于n,则将整个字符串复制到形参t所指字符数组中。例如,形参s所指的字符串为:abcdefgh,n的值为5,程序执行后t所指字符数组中的字符串应为:defgh.请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include#include#defineN80voidfun(char*s,intn.char*l){intlen.ij=0;len=strlen(s);/**********found**********/if(n>=len)strcpy(_t,S_1_);else{/**********found**********/for(i=len-n;i<=len-l;i++)t(j++]=_S[i]_2_;/**********found**********/tUJ=_30Imain(){chars[N],t[N];intn;printf("Enterastring:");gets(s);printf("Entern:M);scanf("%(!".&n);fun(s.n.1);printf("Thesiring(:");puts(t);12、给定程序中,函数fun的功能是:将形参s所指字符串中的所有数字字符顺序前移,其他字符顺序后移,处理后新字符串的首地址作为函数值返回。例如,s所指字符串为:asdl23fgh5##43df.处理后新字符串为:123543asdfgh##df。请在程序的下划线处填入正确的内容并把下划线删除,侦程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include#include#include#includechar*fun(char*s){intij,k,n;char*p,*t;n=strlen(s)+l;t=(char*)malloc(n*sizeof(char));p=(char*)malloc(n*sizeof(char));j=O;k=O;for(i=0;i

57Theresultis:%s

58",fun(s));}13、给定程序中,函数ftm的功能是:找出100〜999之间(含100和999)所有整数中各位上数字之和为x(x为一正整数)的整数•然后输出;符合条件的整数个数作为函数值返回。例如,当x值为5时,100〜999之间各位上数字之和为5的整数有:104、H3、122、131、140、203、212、221、230、302、311、320、401、410、500。共有15个。当x值为27时,各位数字之和为27的整数是:999。只有1个。清在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANKI.C中。不得增行或删行,也不得更改程序的结构!#includefun(intx){intn,si,s2,s3,t;n=0;1=100;/**********f0und**********/while(t<=999_l_){/**********found**********/sl=(%10;s2=(_t/10_2__)%IO;s3=t/100;/**********fOUf|^j**********/if(sl+s2+s3=_X3_){printf(M%d\t);n++;}t++;1returnn;}main(){intx=-l;while(x<0){printfC'Pleaseinput(x>0):M);scanf(M%d",&x);}printf("

59Theresultis:%d

60",fun(x));

61I14、给定程序中,函数fun的功能是:将形参s所指字符申中的数字字符转换成对应的数值,计算出这些数值的累加和作为函数值返回。裁例如,形参s所指的字符串为:abs5defl26jkm8,程序执行后的输出结果为:22。请在程序的下划线处项入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include#include#includeintfun(char*s){intsum=0;while(*s){/**********found**********/if(isdigit(*s))sum+=*s-_1_48_;/**********found**********/_2s++_;return_3SUD1main(){chars[81];intn;printf("

62Enterastring:

63

64");gets(s);n=fun(s);printf("

65Theresultis:%d

66

67".n);)15、给定程序中,函数fun的功能是将带头节点的单向链表结点数据域中的数据从小到大排序。即若原链表结点数据域从头至尾的数据为:10、4、2、8、6,排序后链表结点数据域从头至尾的数据为:2、4、6、8、10。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include#include#defineN6typedefstructnode{intdata;structnode*next;}NODE;voidfun(NODE*h){NODE*p.*q;intt;/**********qUf)(j**********/p=__i_h->next_;while(p){q=_2p->next_;while(q){/**********found**********/if(p-xlata_3>=_q-xlala)(t=p->data;p-xlata=q-xlata;q->data=t;}q=q->next;}p=p->next;I)NODE*creatlist(inta|]){NODE*h.*p,*q;inti;h=(NODE*)malloc(sizeof(NODE));h->next=NULL;for(i=0;ida(a=a[i];q->next=NULL;if(h->nexl=NULL)h->next=p=q;else{p->next=q;p=q;}1returnh;}voidoutlist(NODE*h){NODE*p;p=h->next;if(p==NULL)printfCThelistisNULL!

68M);else{printf("

69Head");do(prinlf("->%d",p->dala):p=p">nexl;}while(p!=NULL);printf("->End

70,');}}main(){NODE*head;inta[N]={0,10,4,2,8,6};head=crea(list(a);printf("

71Theoriginallist:

72'^);outiist(head);fun(head);printfCAnThelistaftersorting:

73");outlist(head);I16、程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。函数ftin的功能是将形参a所指结构体变量s中的数据进行修改,并把a中地址作为函数值返回主函数,在主函数中输出修改后的数据。例如:a所指变量s中的学号、姓名、和三门课的成绩依次是:10001、"ZhangSan"、95、80、88,修改后输出t中的数据应为:10002、"LiSi"、96、81、89。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include#includestructstudent{longsno;charname[10];floatscore[3];};/**********found**********/Structstudent*_1_fun(struclstudent*a){inti;a->sno=10002;strcpy(a->name,"LiSi");/**********found**********/for(i=o;i<3;i++)_a->score[i]2__+=1;/**********Sund**********/return_3_3_;}main(){structstudents={IGOOl/ZhangSan*'.95,80,88}.*1;inti;printf("

74

75Theoriginaldata:

76");printfCAnNo:%IdName:%s

77Scores:".s.sno.s.name);for(i=0;i<3;i++)prinif("%6.2fH,s.score(i]);printfCAn");(=fun(&s);printf("

78Thedataaftermodified:

79M);printf(',

80No:%ldName:%s

81Scores:M,t->sno,t->name);for(i=0;i<3;i++)printf("%6.2fM,t->score[i|);printf(M

82M);)17、给定程序中,函数ftin的功能是:计算形参x所指数组中N个数的平均值(规定所有数均为正数),将所指数组中大于平均值的数据移至数组的前部,小于等于平均值的数据移至x所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。例如,有10个正数:4630324061745154826,平均值为:3050(X)00

83移动后的输出为:4632404548306171526请在程序的下划线处填入正确的内容并把卜划线删除•使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include#includc#defineN10doublefun(double*x){inti,j;doubles,av.y[N];s=0;for(i=0;iav){/**********found**********/yLj++_2_j=x[i]:x[i]=-i;)for(i=0;i

84Theaverageis:%f

85".fun(x));printf(H

86Theresult:

87".fun(x));for(i=0;iintfun(char*s){intn=0,flag=O;while(*s!=,\O,){if(*s!=*'&&nag==O)(/**********1^Uf)(j**********/_ln++_;flag=l;}/**********fou********/if(*s='')flag=0_2_;/**********found**********/_s++_3_;)returnn;}main(){charstr[81];intn;printfCAnEnteralinetext:

88");gets(str);n=fun(str);printf("

89Thereare%dwordsinthistext.

90

91",n);)19、给定程序中,函数fiin的功能是:在形参ss所指字符申数组中查找与形参I所指字符串相同的串,找到后返P]该串在字符串数组中的位置(下标值),未找到则返回ss所指字符串数组中共有N个内容不同的字符串,且用长小丁M。请在程序的下划线处填入正确的内容并把下划线删除.使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!/include#include#defineN5#deOneM8intfun(char(*ss)[M].char*t)(inti;/**********fou(xj**********/for(i=0;i<_N_l_;i++)/**********foup|£^**********/if(strcmp(ss[i].t)==O)returni2;return-1;)main(){charchlN]lM]={Mif',,'while",,,switch",MintM,"for',},t(MJ;intn,i;printfC'

92Theoriginalstring

93

94M);for(i=Ou

95Thepositionis%d.

96",n);}20、给定程序中,函数fun的功能是:找出NXN矩阵中每列元素中的最大值,并按顺序依次存放于形参b所指的一维数组中。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANKLC中。不得增行或删行,也不得更改程序的结构!#include#defineN4voidfun(int(*a)|NJ,int*b){intij;for(i=0;i

97Thematrix:

98");for(i=Ou

99");I/**********found**********/fun(_X,y3_J;printf(M

100Theresultis:n);for(i=0;i

101例如,LEVEL和Level是"回文",而LEVLEV不是"回文"。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出1E确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!/include#include#includeintfun(char*s){char*lp,*rp;/**********found**********/lp=_s」_;q)=s+strlen(s)-l;while((toupper(*lp)==toupper(*q)))&&(lp

102

103';s);elseprintf(M

104\M%sVisn'taPalindrome.

105

106M,s);22、程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。所有学生数据均以二进制方式输出到studem.dai文件中。函数fun的功能是从指定文件中找出指定学号的学生数据,读入此学生数据,对该生的分数进行修改,使每门课的分数加3分,修改后重写文件中该学生的数据,即用该学生的新数据粮盅原数据,其它学生数据不变:若找不到,则什么都不做。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include#defineN5typedefstructstudent(longsno;charname[10];floatscore[3];}STU;voidfun(char*filename,longsno){FILE*fp;STUn;inti;fp=fopen(filename/'rtH-0);/**********found**********/while(!_feof(fp)_l_)(fread(&n,sizeof(STU),1,fp);/**********found**********/if(n.sno_==SHO_)break;Iif(!feof(fp)){for(i=0;i<3;i++)n.score[i]+=3;/******4t***fOU********/fseek(fp,-IL*_3sizeof(STU)一SEEK.CUR);fwri(e(&n,sizeof(STU).I.fp);}fclose(fp);)main(){STUt[N]={{!OOOI.,,MaChao",91.92.77},(10002."CaoKai,,,75,60.88),(10003;'LiSi",85,70.78},{lOOtM:'FangFang",90.82,87),(lOOOS/ZhangSan",95,80,88}),ss[N];intij;FILE*fp;fp=fopen("student.dat","wb");fwrite(t,sizeof(STU),N.fp);fclose(fp);printf("

107Tlieoriginaldata:

108'*);fp=fopen("student.dat"rbM);fread(ss,sizeof(STU),N,fp);fclose(fp);for(j=0;j

109");1fun("studem.daC,.10003);fp=fopen("student.dat","rbM);fread(ss,sizeof(STU).N,fp);fclose(fp);printf("

110Thedataaftermodifing:

111");for(j=O;j

112");}}23、程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。函数ftm的功能是对形参b所指结构体变量中的数据进行修改,最后在主函数中输出修改后的数据。例如:b所指变量t中的学号、姓名、和三门课的成绩依次是:10002、"ZhangQi"、93、85、87,修改后输出t中的数据应为:10004、"LiJie"、93、85、87。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include#includestructstudent{longsno;charname[10];floatscore[31;};voidfun(structstudent*b)(inti;/**********fouixl**********/b_->sno1_=10004;/**********foU********/strcpy(b_->name_2”LiJie");)main(){structstudentt=(10002,"ZhangQi,;93,85,87};inti;printfCAnXnTheoriginaldata:

113w);printf("

114No:%ldName:%s

115Scores:".t.sno,(.name);for(i=0;i<3;i++)printf("%6.2fLscore[i]);primfCXn");

116/**********found**********/fun(&t__3_);printf("

117Thedataaftermodified:

118M);printf("

119No:%idName:%s

120Scores:M,i.sno.(,name);for(i=0;i<3;i++)printf(M%6.2f\t.score[i]);print*}24、给定程序中,函数fiin的功能是:计算形参x所指数组中N个数的平均值(规定所有数均为正数),将所指数组中小于平均值的数据移至数组的前部,大于等于平均值的数据移至x所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。例如,有10个正数:4630324061745154826,平均值为:30500000移动后的输出为:3061715264632404548请在程序的下划线处填入正确的内容并把卜划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include#include#deHneN10doublefun(double*x){inti,j;doubleav,y[N];av=0;/**********found**********/for(i=0;i

121Theaverageis:%f

122",fun(x));printfCAnTheresult:

123".fun(x));for(i=0;i

124M);I25、给定程序中,函数fun的功能是计算下式135(2xn-l)?W+",+-(^jr直到悔震卜10-3,并把计算结果作为函数值返回.例如,若形参e的值为le-3,函数的返回值2.735678。清在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#includedoublefun(doublee){inti;doubles,x;/**********found**********/s=0;i=_0_l_;x=1.0;while(x>e){/**********fou(xj**********/_2i++_;/**********fOUf|^j**********/x=(2.0*i-l)/(C2.*i_3_)*(2.O*i));s=s+x;}returns;1main(){doublee=le-3;printf(H

125Theresultis:%An'\fun(e));26、给定程序中,函数fun的功能是建立一个NXN的矩阵。矩阵元素的构成规律是:最外层元素的值全部为1:从外向内第2层元素的值全部为2;第3层元素的值全部为3,…依次类推。例如,若N=5,生成的矩阵为:11111122211232112221I1II1请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include#deGneN7/**********found**********/voidfun(int(*a)[N]_1_){intij,k,m;if(N%2=0)m=N/2;elsem=N/2+1;

126for(i=0;i

127");for(i=0;idoublefl(doublex){returnx*x;)doublef2(doublex,doubley){returnx*y;}doublefun(doublea,doubleb)/**********found**********/doublerl,r2;/*4t********fOU********/f=_f1_2_;/*pointfountionfl♦/rl=f(a);f=_f23_;/*pointfountionf2♦/r2=(*D(a.b);returnrl+r2;}main(){doublexl=5,x2=3,r;r=fun(xl,x2);printf("

128xl=%f,x2=%f,xl*xl+xl*x2=%f

129",xl,x2,r);}28、给定程序中,函数fun的功能是将参数给定的字符串、整数、浮点数写到文本文件中,再用字符串方式从此文本文件中逐个读入,并调用库函数atoi和atof将字符串转换成相应的幅数、浮点数,然后将其显示在屏幕上。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果.注意:源程序存放在考生文件夹下的BLANKI.C中。不得增行或删行,也不得更改程序的结构!#include#includevoidfun(char*s,inta,doublef)[/**********Sun(j**********/_FILE*_fp;charstr[100],strl[100],str2[100];intal;doublefl;fp=fopenCfilel.txt","wM);fprintf(fp,0%s%d%f

1300,s,a,f);/**********found**********/_fclose(fp)2_;fp=fopen(Mfilel.txtM,V);/**********found**********/fscanf(3fp_,M%s%s%s,\str,strl,str2);fcloseffp);al=atoi(strl);fl=atof(str2):printf(H

131Theresult:

132

133%s%d%f

134",str.al,fl);}main(){chara[10]="Hello!”;inib=12345;doublec=98.76;fun(a.b,c);

13529、给定程序中,函数fun的功能是:计算下式前n项的和作为函数值返回.(2x«-1)x(2x«+1)(2x同尸例如,当形参n的值为10时,函数返回:-0.204491,请在程序的下划线处填入正确的内容并把下划线删除.使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#includedoublefun(intn){inti,k;doubles,t;s=0;/**********1^Uf(d**********/k=_l1_;for(i=l;i<=n;i++){/**********foupj£j**********/t=_22*i_;s=s+k*(2*i-l)*(2*i+l)/(t*t);/**********found**********/k=k*_(_l)_3_;}returns;)main(){intn="l;while(n<0){primfC'Pleaseinpu((n>0):");scanf("%d*',&n);}printf("

136Theresultis:%f

137,',fun(n));30、程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是重写形参filename所指文件中最后一个学生的数据,即用新的学生数据覆盖该学生原来的数据,其它学生的数据不变。请在程序的下划线处填入正确的内容并把下划线删除.使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include#defineN5typedefstructstudent{longcharfloat}STU;sno;name[10];score[3];voidfun(char*filename,STUn){FILE*fp;/**********qup(j**********/fp=fopen(_filename」一"rb+”);/**********fou********/fseek(fp,-1L*sizeof(STU)._SEEK_END_2_);/**********found**********/fwrile(_&n3_,sizeof(STU),1,fp);}main()(STUfclose(fp);t(N)={{10001,"MaChao';91,92,77},{10002,"CaoKai",75,60,88),STUn=intij;{IOOO3,"LiSi",85,70,78},{10004,'TangFang",90,82,87),(10005;,ZhangSan,;95,80.88}};(10006;'ZhaoSi",55,70,68},ss[N];FILE*fp;fp=fopen("student.dat"wb'1);fwrite(t,sizeof(STU),N,fp);fclose(fp);fp=fopen("student.dat","rb*');fread(ss.sizeof(STU).N.fp);fclose(fp);printfC'VnTheoriginaldata:

138W);for(j=0;j

139ThedataaftermodiGng:

140

141");fp=fopen("student.dat,',"rb");fread(ss,sizeof(STU),N,fp);fclose(fp);for(j=0;j

142No:%IdName:%-8sfor(i=0;i<3:i++)printf(*%6.2fM,ss[j].score[i]);printf("

143");31、给定程序中,函数ftin的功能是:计算x所指数组中N个数的平均值(规定所有数均为iE数),平均值通过形参返回主函数,将小于平均值旦最接近平均值的数作为函数值返回,在主函数中输出。例如,有10个正数:4630324061745154826,平均值为:30500000主函数中输出:m=30.0请在程序的下划线处填入正确的内容并把下划线删除.使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include#defineN10doublefun(doublex[],double*av){intij;doubled,s;

144s=0;for(i=0;i

145n);m=fun(x.&av);printf("

146Theaverageis:%f

147",av);printf("m=%5.1f",m);printRW);)32、给定程序中,函数fun的功能是将形参给定的字符串、整数、浮点数写到文本文件中,再用字符方式从此文本文件中逐个读入并显示在终端屏幕上。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#includevoidfun(char*s,inta,doublef)_FILE*_i_fP;charch;fp=fopen("filel.ixi*"w");fprintf(fp,'1%s%ds,汰f);fclose(fp);fp=fopen("filel.txf.T);printf("

148Theresult:

149

150M);ch=fgetc(fp);/**********found**********/while(!feof(_fp_2_)){/**********found**********/putchar(_Ch_3_);ch=fgetc(fp);}putcharC

151');fcloseffp);Imain(){chara[10J=Hello!";intb=12345;doublec=98.76;fun(a,b,c);33、程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。函数fun的功能是将形参a中的数据进行修改,把修改后的数据作为函数值返回主函数进行输出。例如:传给膨参a的数据中,学号、姓名、和三门课的成绩依次是:10001、"ZhangSan"、95、80、88,修改后的数据应为:10002、"USi"、96、81、89。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include#includestructstudent{longsno;charname[10];floatscore[3];};/**********qund**********/_Structstudent_1_fun(stnictstudenta){inti;a.sno=10002:/**********Sund**********/strcpy(__a.name2_,"LiSi");for(i=o;i<3;i++)_a.score[i]_3_+=1;returna:}main(){structstudents=(10001,"ZhangSan",95,80,88},t;inti;printf("

152

153Theoriginaldata:

154"):printf("

155No:%ldName:%s

156Scores:M,s.sno,s.name);for(i=0;i<3;i++)printf("%6.2fM,s.score[i]);printfCAn");t=fun(s);printf("

157Thedataaftermodified:

158M);printfCAnNo:%ldName:%s

159Scores:M.t.sno,(.name);for(i=0;i<3;i++)printf("%6.2ft.score[i]);printf(An");34、给定程序中,函数firn的功能是:利用指针数组对形参ss所指字符串数组中的字符串按由长到短的顺序排序,并输出排序结果。ss所指字符半数组中共有N个字符串,且串长小于M。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!/include#include#defineN5#deGneM8voidfun(char(*ss)(M])

160{char*ps(N],*tp;intij,k;for(i=0;i

161

162");for(i=0;i

163Theoriginalstring

164

165");for(i=0;i#include#includechar*fun(char*s){inti,j,k,n;char*p,*t;n=strlen(s)+1;(=(char*)malloc(n*sizeof(chiir));F>=(char*)malloc(n*sizeof(char));j=O;k=O;for(i=0;i='a,)&&(s[i]<='z'))ll((s[i]>=A,)&&(s[i]<=(Z'))){/**********砧und**********/t(j)=_s[i]i_;j++;){p[k]=s[i];k++;}for(i=0;i<_k_2_;i++)t[j+i]=p[i);/*4t********fOU********/t[j+k]=_0_3_;returnt;)main(){chars[80];printf("Pleaseinput:");scanf(,'%s'\s);printf("

166Theresultis:%s

167",fun(s));给定程序中,函数fun的功能是计算下式(2xn+l)(2xn),直到悟寓卜10-3,并把计算结果作为函数值返回。例如:若形参e的值为le-3,函数的返回值为0.551690。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!/includedoublefun(doublee){inti,k;doubles,t,x;s=0;k=l;i=2;/**********found**********/x=_3._l_/4;/*4t********fOU********/while(x_>_2_e){s=s+k*x;k=k*(-l);t=2*i;/**********found**********/x=_(2*i+l)_3_/(t*0;i++;}returns;}main(){doublee=le-3;printf("

168Theresultis:%f

169".fun(e));I37、给定程序中,函数ftin的功能是:将形参n所指变量中,各位上为偶数的数去除,剩余的数按原来从高位到低位的顺序组成•个新的数,并通过形参指针n传向所指变量。例如,输入•个数:27638496,新的数:为739。请在程序的下划线处填入正确的内容并把下划线删除.使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#includevoidfun(unsignedlong*n){unsignedlongx=0,i;int(;

170占1;while(*n)/**********Cund**********/{t=*n%_10_l_;/**********fou(xj**********/if(t%2!=0_2_){x=x+t*i;i=i*10;)♦n=*n/IO;/**********f0und**********/*n=X}main(){unsignedlongn="l;while(n>99999999lln<0){printfC'Pleaseinput(O

171Theresultis:%ld

172",n);)38、给定程序中,函数fun的功能是:找出100至x(xW999)之间各位上的数字之和为15的所有整数,然后输出;符合条件的整数个数作为函数值返I可。例如,当n值为500时,各位数字之和为15的整数有:159、168、177、186、195、249、258、267、276>285、294、339、348、357、366、375、384、393、429、438、447、456、465、474、483、492。共有26个。请在程序的下划线处填入正确的内容并把下划线删除.使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!/includefun(intx){intn,si,s2.s3,t;/**********found**********/n=_0_l_;t=100;/**********found**********/while(t<=_X_2_){sl=t%IO;s2=(t/10)%10;s3=t/IOO;if(sl+s2+s3=15){printf("%d';t);n++;_t++_3_;returnn;}main(){intx=-l;while(x>999llx<0){prin(f("Pleaseinpu((0

173Theresultis:%d

174",fun(x));)39、给定程序中.函数ftin的功能是:判定形参a所指的NXN(规定N为奇数)的矩阵是否是"幻方".若是,函数返回值为1;不是,函数返回值为0。"幻方"的判定条件是:矩阵每行、每列、主对角线及反对角线上元素之和都相等。例如,以下3X3的矩阵就是一个“幻方”:492357816请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果.注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include#defineN3intfun(int(*a)[N]){intij.ml,m2.row.colum;ml=m2=0;for(i=0;i

175,');for(i=0;i

176");for(i=0;i

177{for(j=0;j

178");)if(fun(x))printf(,'TheArrayisamagicsquare.

179M);elseprintf("TheArrayisn'tamagicsquareAn");40、给定程序中,函数fun的功能是:将a所指3X5矩阵中第k列的元素左移到第0列,第k列以后的每列元素行依次左移,原来左边的各列依次绕到右边。例如,有下列矩阵:I2i212程序执行结果为512若k为2,请在程序的下划线处填入正确的内容并把下划线删除.使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!/include#define#defineM3N5voidfun(int(*a)[N],intk){intij,p,temp;/**********found**********/for(p=l;p<=k__1_:p++)for(i=0;i

180

181");for(i=0;i

182,');)fun(x,2);printfC'Thearrayaftermoving:

183

184");for(i=0;i

185");141、给定程序中,函数fun的功能是:调用随机函数产生20个互不相同的整数放在形参a所指数组中(此数组在主函数中已置0)。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!/include#deHneN20voidfun(int*a){inti,x.n=0;x=rand()%20;/**********found**********/while(n<—N1_)(for(i=0;i

186M);for(i=0;i

187

188,');}42、给定程序中,函数ftm的功能是将不带头节点的单向链表结点数据域中的数据从小到大排序。即若原链表结点数据域从头至尾的数据为:10、4、2、8、6,排序后链表结点数据域从头至尾的数据为:2、4、6、8、10。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include#include#defineN6typedefstructnode(intdata;structnode*next;}NODE;voidfun(NODE*h){NODE*p,*q;intt;p=h:while(p){/**********found**********/q=_p->next1_;/**********found**********/while(_q2_){if(p->data>q->data){t=p->data;p->data=q->data;q->data=1;}q=q->nex(;}/**********fou^j**********/p=p->next}NODE*creatlis((inta[]){NODE*h,*p.*q;inti;h=NULL;for(i=0;i

189{q=(NODE*)malloc(sizeof(NODE));q->dala=a[i];q->next=NULL;if(h==NULL)h=p=q;else{p->next=q;p=q;})returnh;Ivoidoutlist(NODE*h){NODE*p;p=h;if(p==NULL)printf("ThelistisNULLAn");else{printf('r

190Head");do{printf("->%d".p-xiata);p=p->next;}while(p!=NULL);printf("->End

191,');})main()(NODE*head;inta[N]={0,10,4,2,8,6};head=creat1ist(a);printf("

192Theoriginallist:

193°);outlist(head);fun(head);printf("

194Thelistafterinverting:

195w);outlist(head);)43、给定程序中,函数ftin的功能是将带头结点的单向链表逆置。即若原链表中从头至尾结点数据域依次为:2、4、6、8、10,逆置后,从头至尾结点数据域依次为:10、8、6、4、2»请在程序的下划线处填入正确的内容并把下划线删除.使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!/include/include#defineN5typedefstructnode{intdata;structnode*next;}NODE;voidfun(NODE*h){NODE*p.*q,*r;/**********IY)und**********/p=h->next_i_;/**********found**********/ifGP==0_2_)return;q=p->nex(;p->next=NULL;while(q){r=q->next;q->next=p;/**********found**********/p=q;q=_r_3_;}h->next=p;)NODE*creatlist(inta[]){NODE*h,*p.*q;inti;h=(NODE*)malloc(sizeof(NODE)):h->next=NULL;for(i=0;idata=a(i];q->next=NULL:if(h->next==NULL)h->next=p=q;else{p->next=q;p=q;}Ireturnh;)voidout)ist(NODE*h){NODE*p:p=h->nex(:if(p==NULL)printfCThelistisNULL!

196");else(printfCAnHead");do(prin(f("->%d",p->data):p=p->nex(;}while(p!=NULL);printf("->End

197,');}}main(){NODE*head;inta[N]={2,4,6,8,10);head=creatlist(a):printf("

198Theoriginallist:

199");outlist(head):fun(head):printfCAnThelistafterinverting:

200");out)ist(head):

20144、给定程序中,函数fun的功能是:将形参n中,各位上为偶数的数取出,并按原来从高位到低位相反的顺序组成一个新的数,并作为函数值返回。例如,输入一个整数:27638496,函数返回值为:64862。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#includeunsignedlongfun(unsignedlongn){unsignedlongx=0;intt;whilefn){t=n%IO;/**********found**********/if(t%2=_0_I_)/**********found**********/x=_10*X_2_+t;/**********fou********/n=_n/10_3_;)returnx;)main(){unsignedlongn=-1;while(n>99999999lln<0){printfC'Pleaseinput(0

202Theresultis:%ld

203",fun(n));I45、给定程序中,函数ftin的功能是:在形参ss所指字符半数组中,查找含有形参substr所指了串的所有字符串并输出,若没找到则输出相应信息。ss所指字符申数组中共有N个字符串,且串长小于M.程序中库函数strstr(sl,s2)的功罐是在si串中查找s2子串,若没有,函数值为0,若有,为非0。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include#include#defineN5#defineM15voidfun(char(*ss)[M].char*substr){inii.find=0;/**********Cun(i**********/for(i=0;i<_N」_;i++)/**********found**********/if(strstr(ss[i],_SUbstr_)!=NULX){find=l;puts(ss(i]);printfCW);)/**********found**********/if(find==_0_)printfC'XnDon'tfound!

204");Imain(){charx[N][M]={"BASICVClangwage".,,Java,,,,,QBASIC".',Access,,),str[M];inti;printf("

205Theoriginalstring

206

207");for(i=0;i

208M);printf("

209Enterastringforsearch:");gets(str);fun(x,str);}46、给定程序中,函数fun的功能是:将膨参n中,各位上为偶数的数取出,并按原来从高位到低位的顺序组成一个新的数,并作为函数值返回。例如,从主函数输入一个整数:27638496,函数返回值为:26846。请在程序的下划线处填入1E确的内容并把下划线删除.使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#includeunsignedlongfun(unsignedlongn){unsignedlongx=0,s,i;intt;s=n;/**********foupj£j**********/i=」」一;/**********found**********/whilef_S2_){t=s%10;if(t%2==0){x=x+c*i;i=_i*l03_;}s=s/IO;)returnx;1main(){unsignedlongn=-l;while(n>99999999Hn<0){printfC'Pleaseinput(0

210Theresultis:%ld

211",fun(n));)47、程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是从形参filename所指的文件中读入学生数据,并按照学号从小到大排序后,再用二进制方式把排序后的学生数据输出到filename所指的文件中,蜀盖原来的文件内容。请在程序的下划线处填入正确的内容并把卜划线删除,使程序得出正确的结果。

212注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include#defineN5typedefstructstudent{longsno;charname[10];floatscore[3];}STU;voidfun(char*filename){FILE*fp;inti,j;STUs[N],t;/**********Cun(i**********/fp=fopen(filename,rb_I_);fread(s,sizeof(STU),N,fp);fclose(fp);for(i=0;is[j].sno_2_){s[i]=s[j];s|j]«t;|fp=fopen(filename,"wb");/**********Sund**********/_fwrite_3_(s,sizeof(STU).N.fp);fdose(fp);}main(){STUl[N]={{10005.,,ZhangSan,;95.80.88},{10003.,,USi';85,70,78),(10002,"CaoKai",75,60,88),{10004,"FangFang,',90,82,87),(10001,"MaChaoM,91,92t77}},ss[N];intij;FILE*fp;fp=fopen("student.dat"."wb");fwrite(t,sizeof(STU),5,fp);fclose(fp);printf("

213

214Theoriginaldata:

215

216");for(j=0;j

217No:%ldName:%-8sScores:",([j].sno,t[j].name);for(i=0;i<3;i++)printf(',%6.2f",ttjj.score[i]);printf("

218M);}fun("studen(.dar,);printf("

219

220Thedataaftersorting:

221

222M);fp=fopenCstudent.dat",'Yb");fread(ss.sizeof(STU),5,fp);fclose(fp);for(j=O;j

223w);48、给定程序中,函数fun的功能是:找出形参s所指字符串中出现频率最高的字母(不区分大小写),并统计出其出现的次数。例如,形参s所指的字符中为:abcAbsmaxless,程序执行后的输出结果为:letter'a':3timesletter's':3times请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANKLC中。不得增行或删行,也不得更改程序的结构!#include#include#includevoidfun(char*s){intk[26]={0}.n,i,max=0;charch;while(*s){if(isalpha(*s)){/**********j^Qund**********/ch=lolower(_*S_1_);n=ch-'a';/**********found**********/k(n]+=_ls++;/**********found**********/if(max

224Aftercount:

225");for(i=0;i<26;i++)if(k[i]==max)printf("

226letterV%cV:%dtimes

227",i+,a',k[i]);}main()(chars[8l];printf("

228Enterastring:

229

230");gets(s);fun(s);

23149、给定程序中,函数firn的功能是:将形参s所指字符串中所有ASCII码值小于97的字符存入形参1所指字符数组中,形成一个新串,并统计出符合条件的字符个数作为函数值返回。例如,形参s所指的字符串为:Abc@lx56*,程序执行后[所指字符数组中的字符串应为:A@156*O请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANKLC中。不得增行或删行,也不得更改程序的结构!#includeintfun(char*s,char*t){intn=0;while(*s){if(*s<97){/**********run(l**********/*((+n)=*S_l__;n++;}/Xc*********fOU********/_s++_2_;*(t+n)=0;/**********found**********/return_H_3_;)main(){chars[81],t[81];intn;printfCAnEnterastring:

232");gets(s);n=fun(s,t);printfCAnThereare%dletterwhichASCIIcodeislessthan97:%s

233M,n,t);I50、给定程序中,函数ftin的功能是将不带头结点的单向链表逆置。即若原链表中从头至尾结点数据域依次为:2、4、6、8、10,逆置后,从头至尾结点数据域依次为:10.8、6、4、2。请在程序的下划线处填入正确的内容并把卜划线删除.使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#includc#include#deHneN5typedefstructnode{intdata;structnode*next;}NODE;/**********found**********/NODE*_l_fiin(NODE*h){NODE*p,*q,*r;p=h;if(p==NULL)returnNULL;q=p->next;p->next=NULL;/**********砧und**********/while(_q2_){r=q->next;q->next=p;q=_=3_;Ireturnp;)NODE*creatlist(inta[])(NODE*h,*p,*q;inti;h=NULL;for(i=0;idata=a[il;q->next=NULL;if(h==NULL)h=p=q;else{p->next=q;p=q;}Ireturn忙}voidout)ist(NODE*h){NODE*p;p=h;if(p==NULL)prinlfC'ThelistisNULL!

234");else{prinlf("

235Head°);do{printf("->%d",podala);p=p->next;}while(p!=NULL);printf("->End

236");}Imain(){NODE*head;inta[NJ={2,4,6,8,10};head=creatlist(a);printf("

237Theoriginallist:

238'^):outlist(head);head=fun(head);printf("

239Thelistafterinverting:

240'r);outlist(head):}51、程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。函数fun的功能是对形参b所指结构体变量中的数据进行修改.最后在主函数中输出修改后的数据。例如:b所指变量t中的学号、姓名、和三门课的成绩依次是:10002、“ZhangQi"、93、85、87,修改后输出I中的数据应为:10004、"UJie"、93、85、87。请在程序的下划线处填入1E确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include#include

241structstudent{longsno;charnamellO]:floatscore[3];}:voidfun(structstudent*b)[/**********Sund**********/b_->sno_l_=10004;/**********found**********/strcpy(b_->name_2_,"LiJie");)main(){structstudentt={10002,"ZhangQi",93,85,87);inti;printf("

242

243Theoriginaldata:

244");printfCAnNo:%ldName:%s

245Scores:",t-sno,(.name);for(i=0;i<3;i++)printf("%6.2ft.score[i]);print。'An");/**********fourici**********/fun(&t_3_);printf(H

246Thedataaftermodified:

247M);printf("

248No:%ldName:%s

249Scores:M,t.sno,(.name);for(i=0;i<3;i++)printf("%6.2ft.score[i]);printf('*

250");}52、给定程序中,函数fun的功能是计算下式135(2xn-l)直到(2xn-l)ao-)并把计算结果作为函数值返回。(2xn)3例如,若形参e的值为le-3,函数的返回值2.985678。请在程序的下划线处填入正确的内容并把卜划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANKLC中。不得增行或删行,也不得更改程序的结构!#includedoublefun(doublee){inti;doubles,x;/**********found**********/s=0;i=_0_l_;x=1.0;while(x>e)(/**********found**********/,i++_2_;/**********found**********/x=(2.0*i-l)/((2.*i_3_)*(2.0*i));s=s+x;returns;

251}main(){doublee=le-3;printf("

252Theresultis:%f

253",fun(e));I53、给定程序中,函数ftm的功能是:将s所指字符串中的所有数字字符移到所有非数字字符之后,并保持数字字符串和非数字字符串原有的先后次序。例如,形参s所指的字符串为:def35adh3kjsdno执行结果为:defadhkjsdf3537o请在程序的卜划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#includevoidfun(char*s){inti,j=0,k=0;char(2[80J;命加=0对口!=[0')++)if(s[i]>='O'&&s[i]<='9')(/**********Cun(i**********/(2Ul=s[i];_j++」_;}elsetl|k++]=s[ij;12m=0;tl[k]=O;/**********found**********/for(i=0;i

2540,s);fun(s);printf("

255Theresultis:%s

256",s);54、给定程序中,函数ftin的功能是:有NXN矩阵,以主对角线为对称线,对称元素相加并将结果存放在左下工角元素中,右上三角元素置为0。例如,若N=3,有下列矩阵:123456789计算结果为10065010149请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!****新视野教育内部资料版权所有翻印必究WWW.EOL360.COM****#include#defineN4/**********found**********/voidfun(int(*t)_[N]_I){inti,j;for(i=l;i

257Theoriginalarray:

258");for(i=0;i

259M);for(i=0:i

260M);)

26155、给定程序中,函数ftm的功能是:对形参s所指字符串中下标为奇数的字符按ASCII码大小递增排序,并将排序后下标为奇数的字符取出,存入形参p所指字符数组中,形成一个新串。例如,形参s所指的字符串为:baawrskjghzlicda,执行后p所指字符数组中的字符串应为:aachjlsw。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANKI.C中。不得增行或删行,也不得更改程序的结构!#includevoidfun(char*s,char*p){inti.j,n,x.t;n=0:for(i=0;s[i]LIO';i++)n++;for(i=l;is[j])t=j;if(t!=i){x=s[i];s[i]=s[t];s[t]=x;})for(i=lj=0;i

262Theoriginalstringis:%s

263'\s);fun(s,p);printfCAnTheresultis:%s

264",p);I56、给定程序中已建立一个带有头结点的单向链表,在main函数中将多次调用fun函数,每调用一次ftin函数,输出链表尾部结点中的数据,并释放该结点,使链表缩短。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include#include#deHneN8typedefstructlist{intdata;structlist*next;}SUST;voidfun(SLIST*p){SLiST*t,*s;t=p->next;s=p;while(t->next!=NULL){s=t;/**********fou(xj**********/<=t->_next__i_;)prin(f(n%dt->data_2_);s->nexl=NULL;/**********found**********/free(_t_3_);)SLIST*crea(list(int*a)(SLIST*h,*p,*q;inti;h=p=(SLIST*)malloc(sizeof(SLIST));for(i=0;idata=a[ij;p->next=q;p=q:)p->next=O;returnh;)voidou(list(SLIST*h){SLIST*p;p=h->next;if(p==NULL)printf("

265ThelistisNULL!

266M);else{printf("

267Head");do{prin(f('>->%d",p->data);p=p->nexl;}while(p!=NULL);prinlfC'^EndXn");)}main(){SLIST*head;inta[N]=(11,12,15,18,19,22,25,29);head=creat1ist(a);printf("

268Outputfromhead:

269");outlist(head);printf("

270Outputfromtail:

271°);while(head->next!=NULL){fun(head);printfCMVn");printf("

272Outputfromheadagain:

273");outlist(head);)57、给定程序中,函数fun的功能是:计算NXN矩阵的主对角线元素和反向对角线元素之和,并作为函数值返回。注意:要求先累加主对角线元素中的值,然后累加反向对角线元素中的值。例如,若N=3,有下列矩阵:123456789fun函数首先累加1、5、9,然后累加3、5、7,函数的返回值为30。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include#deGneN4fun(intt[][N],intn){inti,sum;/**********IY)und**********/sum=0—i—;fbr(i=O;i

274Theoriginaldala:

275");for(i=0;i

276");)printfC'Theresultis:%d'\fun(t,N));)

27758、给定程序中,函数ftin的功能是:找出】00〜999之间(含100和999)所有整数中各位上数字之和为x(x为•正整数)的整数,然后输出;符合条件的整数个数作为函数值返阿I。例如,当x值为5时,100〜999之间各位上数字之和为5的整数有:104、113、122、131、140、203、212、221、230、302、3H、320、401、410、500。共有15个。当x值为27时,各位数字之和为27的整数是:999o只有1个。请在程序的下划线处填入正确的内容并把下划线删除•使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!****新视野教育内部资料版权所有翻印必究WWW.EOL360.COM****/includeintfun(intx){inin,si,s2,s3,t;n=0;t=100;/**********Cun(i**********/whileft<=999_1_){/**********found**********/sl=t%10;s2=(_t/10_2_)%10;s3=t/100;/**********found**********/if(sl+s2+s3==_X3_){printfC'%d】);n++;}t++;}returnn;)main(){inix=-l;while(x<0){print""Pleaseinput(x>0):N);scanf("%d",&x);}printf("

278Theresultis:%d

279",fun(x));}59、给定程序中,函数ftin的功能是:将形参n所指变量中,各位上为偶数的数去除,剩余的数按原来从高位到低位的顺序组成个新的数,并通过形参指针n传同所指变量。例如,输入•个数:27638496,新的数:为739。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#includevoidfun(unsignedlong*n)(unsignedlongx=0,i;intt:i=l;while(*n)/**********qund**********/{t=*n%10_l_;/**********found**********/if(t%2!=0_2_){x=x+t*i;i=i*10;}*n=*n/10;}/**********found**********/*n=X_3_;Imain(){unsignedlongn=-l:while(n>99999999lln<0){printfC'Pleaseinput(O

280Theresultis:%ld

281"ji);60、给定程序中,函数fun的功能是:将形参n中,各位上为偶数的数取出,并按原来从高位到低位相反的顺序组成一个新的数,并作为函数值返回。例如,输入一个整数:27638496,函数返回值为:64862。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#includeunsignedlongfun(unsignedlongn){unsignedlongx=0;intt;while(n)(t=n%10;/**********found**********/if(t%2=_0_l_)/**********found**********/x=_l0*X_2_+t;/**********found**********/n=n/10_3_;returnx;}main(){unsignedlongn=-l;while(n>99999999lln<0){printf(MPleaseinput(0

282Theresultis:%ld

283'\fun(n));61、函数ftin的功能是:把形参a所指数组中的奇数按原顺序依次存放到a[0]、a|l],a[2]、……中,把偶数从数组中删除,奇数个数通过函数值返回。例如:若a所指数组中的数据最初排列为:9、1、4、2、3、6、5、8、7.删除偶数后a所指数组中的数据为:9、1、3、5、7,返回值为5。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANKLC中。不得增行或删行,也不得更改程序的结构!#include#defineN9intfun(inta[].intn){intij;j=0;for(i=0:i

284printfCAnTheoriginaldata:\rT);for(i=0;i

285,');n=fun(b,N);printfCAnThenumberofodd:%d

286'

287);printfCAnTheoddnumber:

288");for(i=0;i#include#defineM5#defineN20intfun(char(*ss)[N],int*n){inti,k=0,len=N;/**********found**********/for(i=0;i<];i++){len=strlen(ss[i]);if(i=0)♦n=len;if(len_2_*n){*n=len;k=i;))/**********found**********/retum(-3_);)main(){charss[M][N]={"shanghai","guangzhou"/'beijing"/'tianjing",Mchongqing"};intnki;printfCAnTheoriginalstringsare:

289M);for(i=Ou

290M,n);printfCAnTheshorteststringis:%s

291',,ss[kj);}63、给定程序的功能是:从键楸输入若干行文本(每行不超过80个字符),写到文件myfile4.txt中.用“作为字符串输入结束的标志。然后将文件的内容读出显示在屏幕上。文件的读写分别由自定义函数ReadText和WriteText实现。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include#include/includevoidWritelext(FILE*);voidReadText(FILE♦);main(){FILE*fp;if((fp=fopen(',myfile4.txtM."w"))=NULL){printf("openfail!!

292");exit(O);)Writelext(fp);fclose(fp);if((fp=fopen(',myfile4.txt,,,T,))=NULL)(printfCopenfail!!

293");exit(0);}ReadText(fp);fclose(fp);)voidWritelext(FILE_I_){charstr[8IJ;printfCAnEnterstringwith-1toend:

294°);

295gets(str);while(strcmp(str,1")!=0)|/**********Cunci**********/fputs(2,fw);fputs(,'

296,',fw);gets(str);IvoidReadText(FILE*fr){charstr[81J;prin(f("

297Readfileandoutputtoscreen:

298");fgets(str.81,fr);while(!feof(fr)){/**********Sund**********/printfC^s",_3一):fgets(str,81.fr);64、函数fun的功能是:将形参a所指数组中的前半部分元素中的值和后半部分元素中的值对换。形参n中存放数组中数据的个数,若n为奇数,则中间的元素不动。例如:若a所指数组中的数据依次为:1、2、3、4、5、6、7、8、9,则调换后为:6、7、8、9、5、1、2、3、4。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:#include#define源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!N9voidfun(inta(],intn){inti,t.p;/**********小und**********/p=(n%2==O)?n/2:n/2+_1—;fbr(i=0;i

299Theoriginaldata:

300M);for(i=0;i

301");for(i=0;kN;i++)printf("%4d",b(i|);printfC

302w);I65、给定程序中,函数ftin的功能是:在形参ss所指字符串数组中,删除所有串长超过k的字符串,函数返回所剩字符串的个数。ss所指字符串数组中共有N个字符串,且串长小于M。请在程序的下划线处填入正确的内容并把下划线删除•使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANKLC中。不得增行或删行,也不得更改程序的结构!/include/include#define#defineN510intfun(char(*ss)[M],intk){intiJ=OJen;/**********Cuixj**********/for(i=0;i<_1_;i++){len=strlen(ss[i]);/**********砧und**********/if(len<=_2_)/**********小und**********/strcpy(ss[j++],_3_);returnj;Imain(){charx[N][M]={"Beijing"."Shanghai","Tlanjing,,."Nanjing,,."Wuhan");inti,f;printf("

303Theoriginalstring

304

305");for(i=OJ

306printfC'Thestringwitchlengthislessthanorequalto7:

307");for(i=0;i

308");66、给定程序中,函数fun的功能是计算下式(2xn+1)(2xn)‘直到恰箸卜IL、并把计算结果作为函数值返回.例如:若形参e的值为le-3,函数的返回值为0.551690。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!****新视野数育内部资料版权所有翻印必究WWW.EOL360.COM****#includedoublefun(doublee){inti,k;doubles,t,x;s=0:k=l;i=2;/**********qUf)(j**********/x=_l_/4;/**********小und**********/while(x_2_e){s=s+k*x;k=k*(-l);t=2*i;/**********他********/x=_3_g);i++;}returns;}main(){doublee=1e-3;printf("

309Theresultis:%f

310".fun(e));}67、给定程序中,函数fun的功能是:统计形参s所指字符串中数字字符出现的次数,并存放在形参I所指的变量中,最后在主函数中输出。例如,形参s所指的字符串为:abcdet35adgh3kjsdt7o输出结果为:4。请在程序的卜划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANKLC中。不得增行或删行,也不得更改程序的结构!#includevoidfun(char*s,int*t){inti,n;n=0:/**********Cund**********/for(i=0;1!=0;i++)/**********佑un(j**********//**********Cund**********/}main(){chars[8O]="abcdef35adgh3kjsdf7,';intt;printfCAnTheoriginalstringis:%s

311'*,s);fun(s,&t);printfCAnTheresultis:%d

312",t);)68、函数ftm的功能是:把形参a所指数组中的最小值放在元素a[0]中,接着把形参a所指数组中的最大值放在a[l]元素中:再把a所指数组元素中的次小值放在甜2]中,把a所指数组元素中的次大值放在a[3];其余以此类推。例如:若a所指数组中的数据最初排列为:9、1、4、2、3、6、5、8、7:则按规则移动后,数据排列为:1、9、2、8、3、7、4、6、5。形参n中存放a所指数组中数据的个数。注意:规定fun函数中的max存放当前所找的最大值,px存放当前所找最大值的下标。请在程序的下划线处填入1E确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include#defineN9voidfun(inta[].intn){inti,j,max.min.px,pn.t;for(i=0;i3){min=a(j];pn=j;}}if(pn!=i){t=a[i];a(i]=min;a[pn]=t;if(px=i)px=pn;)if(px!=i+l){t=a[i+l]:a(i+l]=max:a[px]=(;))}main(){inib[Nl={9,l,4,2,3,6,5,8,7),i;printfCAnTheoriginaldata:

313H);for(i=0;i

314");fun(b,N);printfCAnThedataaftermoving:

315M);for(i=0;i

316I69、给定程序中,函数fun的功能是:找出100至x(x於999)之间各位上的数字之和为15的所有整数,然后输出:符合条件的整数个数作为函数值返同。例如,当n值为500时,各位数字之和为15的整数有:159、168、177、186、195、249、258、267、276>285、294、339、348、357、366、375、384、393、429、438、447、456、465、474、483、492。共有26个。请在程序的下划线处填入正确的内容并把下划线删除.使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANKLC中。不得增行或删行,也不得更改程序的结构!/includeintfun(intx){inin,si,s2,s3,(;/**********foun(j**********/n=_1_;t=100;/**********fou油**********/while(t<=_2_){sl=t%10;s2=(t/10)%10;s3=t/100;if(sl+s2+s3==15){printf(M%dM,t);n++;)returnn:Imain(){in(x=-l;while(x>999lk<0){prin(f(MPleaseinput(0

317Theresultis:%d

318",fun(x));}70、给定程序中,函数fun的功能是:有NXN矩阵,根据给定的m(m<=N)值,将每行元素中的值均右移m个位置,左边置为0。例如,N=3,m=2,有下列矩阵123456789程序执行结果为00I004007请在程序的下划线处填入正确的内容并把卜划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!****新视野教育内部资料版权所有翻印必究WWW.EOL360,COM****#include#defineN4voidfun(int(*()[N],intm){inti.j;/**********j^Qund**********/for(i=0;i=0;j")/**********^QurKl**********/t[i]|j+_2_J=t[illj];/**********砧und**********/for(j=0;j<_3—;j++)t[i]Ul=O;I}main(){inttl]|NJ=<21,12,13,24,25,16,47,38,29,1132^4,4221,33,10},ij,m;printfC'AnTheoriginalarray:

319");for(i=0;i

320H);Iprintf("Inputm(m<=%d):"JQ);scanf("%d".&m);fun(t,m);prinlf('AnTheresultis:

321M);for(i=0;i

322");)71、函数ftin的功能是:把形参a所指数组中的偶数按原顺序依次存放到a[0]、a[l],a[2]、……中,把奇数从数组中删除,偶数个数通过函数值返回。例如:若a所指数组中的数据最初排列为:9、1、4、2、3、6、5、8、7,删除奇数后a所指数组中的数据为:4、2、6、8,返回值为4。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include#defineN9inifun(inta[],in(n){intij;j=0;for(i=0;i

323Theoriginaldata:

324");for(i=0;i

325M);

326n=fun(b,N);prin(f("

327Thenumberofeven:%d

328",n);prin(f("

329Theeven:

330M);for(i=0;i#include#includechar*fun(char*s)(inti,j,k,n;char*p,*t;n=strlen(s)+l;t=(char*)malloc(n*sizeof(char));p=(char*)malloc(n*sizeof(char));j=0:k=0;for(i=0;i='a')&&(s[i]<=,z'))IK(s[i]>=,A')&&(s[i]<=,Z,))){else(p|k]=s[i];k++;)}/**********砧und**********/for(i=0;i<_2_:i++)t[j+i1=p[i];/**********IY)und**********/t[j+k]=_3_;returnt;main(){charsl8OJ:printf("Pleaseinput:scanf(',%s,1,s);printf("

331Theresultis:%s

332".fun(s));73、给定程序中,函数fun的功能是:计完F式前n项的和作为函数值返回。1x33x55x7++++...+2J4J6,(2x炉例如,当形参n的值为10时,函数返回I:9.612558。请在程序的卜.划线处填入正确的内容并把卜划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANKLC中。不得增行或删行,也不得更改程序的结构!#includedoublefun(intn)(inti;doubles,t;/**********IY)und**********//**********qund**********/for(i=I;i<=_2_;i++){t=2.0*i;/**********Cund**********/s=s+(2.0*i-l)*(2.0*i+1y_3_;Ireturns;)main(){intn=-l;whiIe(n<0){printf("Pleaseinput(n>0):M);scanf("%d",&n);}printf("

333Theresultis:%f

334f',fun(n));}74、给定程序中,函数何n的功能是:把形参s所指字符串中卜标为奇数的字符右移到卜.个奇数位置,最右边被移出字符中的字符绕网放到第•个奇数位置,卜标为偶数的字符不动(注:字符中的长度大于等于2)。例如,形参s所指的字符串为:abcdefgh,执行结果为:ahcbedgf.请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!****新视野教育内部资料版权所有翻印必究WWW.EOL360.COM****/includevoidfun(char*s){inti,n,k;charc;n=0;for(i=0;s[i]!=r\0';i++)n++;/*****************/if(n%2==0)k=n-1;elsek=n-2;/**********必und**********/c=2;fbr(i=k-2;i>=l;i=i-2)s[i+2J=s(iJ;/**********砧und**********/s[l]=一3—;Imain(){chars[80]="abcdefgh”;printf("

335Theoriginalstringis:%s

336'*,s);fun(s);printf("

337Theresultis:%s

338",s);75、给定程序中,函数fun的功能是:统计出带有头结点的单向锌表中结点的个数.存放在形参n所指的存储单元中。请在程序的下划线处填入正确的内容并把下划纹删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!/include#include#defineN8typedefstructlist{intdata;structlist*next;

339}SLIST;SLIST*creatlist(int*a);voidoutlist(SLIST♦);voidfun(SLIST*h,int*n){SLIST*p;/**********砧und**********/—1—=0;p=h->nex(;while(p)[(*n)-H-;/**********1^Upd**********/P=P->—2一;))main()(SLIST*head;inta[N]={12,87.4532,91.16,20,48}.num;head=creat)ist(a);outlist(head);/**********^QurKl**********/fun(3,&num);prinlf("

340number=%d

341”,num);ISLIST*creatlist(inta[|){SLIST*h,*p,*q;inti;h=p=(SLIST*)malloc(sizeof(SLIST));for(i=0;idata=a[i];p->nex(=q;p=q:)p->next=O;returnh;)voidou(list(SLIST♦h)(SLIST*p;p=h->next;if(p==NULL)printfC'ThelistisNULLM");else(printf("

342Head");do{printf("->%d",p->data);p=p->next;}while(p!=NULL);printfC->En#deGneN4voidfun(int(*t)[NJ){inti.j.x;for(i=0;i<1;i++)(/**********j^und**********/x=t[i][—2—1;for(j=N-l;j>=l;j-)main()

343{intt[HNJ=(21,12,13^4,25,16,47,38,29,11,32,54,42,2133,10),i,j;printf("Theoriginalarray:\ii");for(i=0;i

344");)fun(t);printf("

345Theresultis:

346H);fdr(i=O:ivN;i++){fbKj=O;j

347");)77、给定程序中,函数ftin的功能是:在形参ss所指字符串数组中查找与形参t所指字符串相同的申,找到后返回该串在字符串数组中的位置(下标值),未找到则返回ss所指字符串数组中共有N个内容不同的字符串,且串长小于M。请在程序的下划线处填入正确的内容并把下划线删除.使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANKLC中。不得增行或删行,也不得更改程序的结构!/include#include#define#defineN5M8intfun(char(*ss)[M],char*t)(inti;/**********^Qund**********/fbr(i=O;i<_1_;i++)/**********小und**********/if(strcmp(ss(i],t)=O)return_2.return-1;main(){charch[N|[M]={,,if,,"while',,,'swttch,,,nint"."for"}.t[M];intn.i:printf("

348Theoriginalstring

349

350M);for(i=04

351Enterastringforsearch:");解is⑴;n=fun(ch,t);/**********found**********/if(n==_3_)prinlfCAnDontfound!

352");elseprintf(M

353Thepositionis%d.

354",n);)78、程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。函数bin的功能是将形参a所指结构体变量s中的数据进行修改,并把a中地址作为函数值返I可主函数,在主函数中输出修改后的数据。例如:a所指变量s中的学号、姓名、和三门课的成绩依次是:10001、"ZhangSan"、95、80、88,修改后输出t中的数据应为:10002、"LiSi二96、81、89。请在程序的卜划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!****新视野教育内部资料版权所有翻印必究WWW.EOL360.COM****#include#includestructstudent{longsno;charname[IO];floatscore[3];_1_fun(structstudent*a){inti;a->sno=10002;strcpy(a->name."LiSiM);/**********found**********/for(i=0;i<3;i++)_2_+=1;/**********found**********/return_3_;)main(){structstudents=(10001,"ZhangSan",95,80,88},*t;inti;printf("

355

356Theoriginaldata:

357M);printf("

358No:%ldName:%s

359Scores:".s.sno,s.name);for(i=0;i<3;i++)printf(M%6.2f",s.score[i]);printfCn");l=fun(&s);printf("

360Thedataaftermodified:

361M);printf("

362No:%ldName:%s

363Scores:M,t->sno,t->name);for(i=0;i<3;i++)printf("%6.2ft->score(i]);print。An");79、给定程序中已建立个带有头结点的单向链表,链表中的各结点按数据域递增有序链接。函数fun的功能是:删除链表中数据域值相同的结点,使之只保留•个。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include#include#defineN8(ypedefstructlist{intdata:structlist*next;}SUST;voidfun(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;

364/**********found**********/free(1);/**********Sund**********/q=p->2;}else{p=q;q=q->_3-;))}SLIST*creatlist(int*a)(SLIST*h,*p,*q;imi;h=p=(SLIST*)malloc(sizeof(SLIST));for(i=0;idata=a(i];p->next=q;p=q;)p->next=O;returnh:Ivoidoutlist(SLIST*h){SLIST*p;p=h->next;if(p==NULL)printfCAnThelistisNULL!

365H);else{prin(f("

366Head"):do{printf("->%d",p->data);p=p->nex(:}while(p!=NULL);prinlf("->End

367");})main()(SLIST*head;inta[N]=(1,2,2,3,4,4,45};head=creatlist(a);printR'AnThelistbeforedeleting:

368M);outlist(head);fun(head);printfCAnThelistafterdeleting:

369");outlist(head);}80、程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。所有学生数据均以二进制方式输出到sludent.dat文件中。函数fun的功能是从指定文件中找出指定学号的学生数据,读入此学生数据,对该生的分数进行修改,使每门课的分数加3分,修改后重写文件中该学生的数据,即用该学生的新数据覆盖原数据,其它学生数据不变:若找不到,则什么都不做。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include#defineN5(ypedefstructstudent(longsno:charname[10];floatscore[3];}STU;voidfun(char*filename,longsno){FILE*fp;STUn;inti;fp=fopen(filename,"rtH-");/**********Cun

370Theoriginaldata:

371");fp=fopenCstudent.dat","rbM);fread(ss,sizeof(STU),N.fp);fclose(fp);for(j=O;j

372ThedataaftermodiGng:

373");

374for(j=0;j

375No:%ldName:%-8sScores:",ss[jj.sno,ss[j].name);for(i=0;iv3;i++)primf("%6.2fss[j].score(i]);printf("

376");181、给定程序中,函数fun的功能是:在形参s所指字符串中的每个数字字符之后插入一个*号。例如,形参s所指的字符串为:def35adh3kjsdf70执行结果为:def3*5*adh3*kjsdf7*o请在程序的卜'划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANKLC中。不得增行或删行,也不得更改程序的结构!#includevoidfun(char*s){inti,j,n;门1«=0对用=*\0';皿)/**********f^ound**********/if(s[il>='0'_1_s[il<=9')(n=0;/**********j^und**********/while(s[i+l+nj!=2)n++;for(j=i+n+1;j>i;j-)/**********^und**********/s[j+l]=-3—;slj+lK*';i=i+l;}Imain(){chars[80]="ba3a54cd23a";printf("

377Theoriginalstringis:%s

378",s);fun(s);printfCAnTheresultis:%s

379",s);82、程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。函数fim的功能是将形参a中的数据进行修改,把修改后的数据作为函数值返回主函数进行输出。例如:传给形参a的数据中,学号、姓名、和三门课的成绩依次是:10001、"ZhangSan"、95、80、88,修改后的数据应为:10002、"LiSi"、96、81、89。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!****新视野教育内部资料版权所有翻印必究WWW.EOL360.COM****#include#includestructstudent{longsno:charname[10];floatscore[3];};/**********Cund**********/_1_fun(structstudenta)(inti;a.sno=10002;/**********found**********/strcpy<_2一"LiSi");/**********Cun(i**********/for(i=0;i<3;i++)_3+=1;returna;)main(){structstudents=(10001/ZhangSan",95,80,88),t;inti;printf("

380

381Theoriginaldata:

382'r);printfCAnNo:%ldName:%s

383Scores:M,s.sno,s.nanie);for(i=0;i<3;i++)printf("%6.2f",s.score[i]);primfCM");t=fun(s);printfCAnThedataaftermodified:

384M);primfCAnNo:%ldName:%s

385Scores:M,t.sno,(.name);for(i=0;i<3;i++)prin【f("%6.2f”,l.score[i]);printf("

386H);}83、给定程序中,函数fun的功能是:计算下式前n项的和作为函数值返回。j_1x3_3x5a5x7,i(2x^-1)x(2x^D2a4a63(2x«)J例如,当形参n的值为10时,函数返Pl:-0.2()4491»请在程序的下划线处填入正确的内容并把卜划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#includedoublefun(intn){inii,k;doubles,t;s=0;/**********Cund**********/k=_l_;for(i=l;i<=n;i++){/**********!^und**********/t=_2_;s=s+k*(2*i-l)*(2*i+1)/(t*t);/**********他und**********/k=k*_3_;}returns;)main(){intn=-l;

387while(n<0){primfC'Pleaseinpu((n>0):scanf(n%d",&n);}printf("

388Theresultis:%An".fun(n));}84、函数fun的功能是进行数字字符转换。若形参ch中是数字字符O〜9,则。转换成9,T转换成2转换成7,……,9转换成O:若是其它字符则保持不变:并将转换后的结果作为函数值返回。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include

389/**********Cun(l**********/1fiin(charch)/********nd**********/if(ch>=0'&&-2_)/**********砧und**********/return*9'-(ch-3);returnch;)main(){charcl,c2;printf("

390Theresult:

391");cl=2;c2=fun(cl);printfC'cl=%cc2=%c

392';c1,c2);cl=8;c2=fun(cl);printfC'cl=%cc2=%c

393",cI,c2);cl='a';c2=fun(cl);printfC^cl=%cc2=%c

3940,c1,c2);)85、给定程序中,函数fun的功能是:计算出带有头结点的单向链表中各结点数据域中值之和作为函数值返回。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:#include#include#definetypedef源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!N8structlist{intdata;structlist*next;}SLIST;SLIST*creatlist(int♦);voidoutlist(SLIST♦);intfun(SLIST*h){SLIST*p;p=h->next;while(p)ints=0;/**********Cund**********//**********^Qund**********/p=p->2;)returns;Imain(){SLIST*head;inta[N]={l2,87,4532,91,16,20,48};head=creatlist(a);outlist(head);printf("

395sum=%d

396",fun(3));SLIST*creatlist(inta[|){SLIST*h.*p,*q:h=p=(SLIST*)malloc(sizeof(SLIST));for(i=0;idata=a[i];p->next=q;p=q;)p->next=O;returnh;voidoutlist(SLIST*h){SLIST*p:p=h->next;if(p==NULL)printfCThelistisNULL!

397");else{printfCAnHead");do{printf("->%d",p-xiata);p=p->next;}while(p!=NULL);86、给定程序中,函数fun的功能是:在带有头结点的单向琏表中,作找数据域中值为ch的结点。找到后通过函数值返回该结点在链表中所处的顺序号:若不存在值为ch的结点,函数返回。值。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!****新视野教育内部资料版权所有翻印必究WWW.EOL360.COM****#include#include#defineN8typedefstructlist{intdata:structlist*next;}SL1ST;SLIST*creatlist(char♦);voidoutUsKSLIST♦);intfun(SLIST*h.charch){SLIST*p;intn=0;p=h->nex(;/**********found**********/while(p!=1){n++;/**********found**********/if(p->data==ch)return2;elsep=f»next;)return0;)main(){SLIST*head;intk;charch;charalNX'mVpVg'X'wVxW/d');head=creatlist(a);outlist(head);prin(f("Enteraletter:");

398scanf(M%cM.&ch);/**********他********/k=fun(_3_);if(k==O)printfCAnNotfoundlXn");elseprintf("Thesequencenumberis:%d

399"Jc);}SLIST*creatlist(char*a)(SLIST*h,*p,*q;inti;h=p=(SLIST*)malloc(sizeof(SLIST));for(i=0;idata=a[i];p->next=q;p=q;)p->next=();returnh;Ivoidoutlist(SLIST*h){SLIST*p;p=h->next;if(p==NULL)printf('

400ThelistisNULL!

401");else{printfC'XnHead");do(printf(',->%c,,,p->data);p=p->next;}while(p!=NULL);printfC'->End

402");87、给定程序中已建立个带有头结点的单向链表,链表中的各结点按结点数据域中的数据递增有序链接。函数fun的功能是:把形参x的值放入一个新结点并插入到链表中,插入后各结点数据域的值仍保持递增有序。请在程序的下划线处填入正确的内容并把卜划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include#include#defineN8typedefstructlist{intdata;structlist*next;}SLIST;voidfun(SLIST*h.intx){SLIST*p,*q.*s;s=(SLIST♦)malloc(sizeof(SLIST));

403s->data=1;q=h;p=h->next;while(p!=NULL&&x>p->data){/**********found**********/q=2一;p=j»next;)s->next=p:/**********found**********/q->next=3;}SLIST*creadist(int*a){SLIST*h.*p,*q;in(i;h=p=(SLIST*)malloc(sizeof(SLIST));for(i=0;idata=a[i];p->next=q;p=q:)p->next=();returnh;}voidoutlist(SLIST*h){SLIST*p;p=h->next;if(p==NULL)printfC'

404ThelistisNULL!

405");else{printf("

406Head");do(printf("->%d,>.p->data);p=p->next;}while(p!=NULL);printf("->End

407");main(){SLIST*head;intx;inta[N]=(11,12,15,1839,22,25.29);head=creatlist(a);printf("

408Thelistbeforeinserting:

409M);outlist(head);printf("

410En(eranumber:");scanf("%d'\&x);fun(head.x);printf("

411Thelistafterinserting:

412M);outlist(head);88、给定程序的功能是调用fun函数建立班级通讯录。通讯录中记录每位学生的编号、姓名和电话号码。班级的人数和学生的信息从键盘读入,每个人的信息作为•个数据块写到名为myfile5.dat的二进制文件中。请在程序的卜.划线处填入正确的内容并把卜划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include#includc#definetypedefN5struct{intnum;charname[10];chartel[10];}STYPE;voidcheck。;/**********fou词**********/intfun(1*std)/**********fouM**********/2*fp;inti;if((fp=fopen("myfile5.dat,\"wb"))==NULL)return(O);printf("

413OutputdatatoHie!

414M);fbr(i=O;i

415");exit(O);}printf("

416Readfileandoutputtoscreen:

417");printf("

418numnamefor(i=0;i

419",s[i].num,s[i].name,s[i].(el);fclose(fp);}89、给定程序中,函数fun的功能是:有NXN矩阵,将矩阵的外围元素顺时针旋转。操作顺序是:首先将第一行元素的值存入临时数组r,然后使第一列成为第一行,最后一行成为第一列,最后一列成为最后一行,临时数组中的元素成为最后一列。例如,若N=3,有下列矩阵:123456789计算结果为741852963请在程序的下划线处填入正确的内容并把卜划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include#defineN4voidfun(int(*t)[N])(intjj-[N];for(i=0;j

420for(j=0;j=0;_2_)t[N-l](N-l-j]=tU][N-l];for(j=N-l;j>=0;j-)/********nd**********/—3—];)main(){int,12,13,24.25.16,47,38,29,113254,4221.33.10}.i.j;printf("

421Theoriginalamy:

422");fbr(i=O:i

423M);)fun(t);printf("

424Theresultis:

425");for(i=O:i#defineN4

426voidfun(int{inti,s;/**********Cun(l**********/for(2—;i++)(s=t[i][i];/**********IY)und**********/main(){intHHNJ=<21,12,13^4,25,16.47,38,29,11,32,54,42,21,33,101,1J;printfC'AnTheoriginalarray:

427");for(i=0;i

428Theresultis:

429M);for(i=0;i

430,');I91、给定程序中,函数fun的功能是:在形参s所指字符串中寻找。参数c相同的字符,并在其后插入•个。之相同的字符,若找不到相同的字符则函数不做任何处理。例如,s所指字符串为:baacda,c中的字符为:a,执行后s所指字符串为:baaaacdaa«请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#includevoidfun(char*s.charc){inti.j,n:/**********Cund**********/for(i=0;s[i]!=_1—;i++)if(s[il==c)/**********Cund**********/n=2一;while(s[i41+n]!=*\0*)n++;for(j=i+n+l;j>i;j-)s(j+l)=s(j];/**********I^Qund**********/s[j+H=一3一;i=i+l;}s[80]="baacda",c;Imain(){charprintf("

431Thestring:%s

432n,s);printfCAnlnputacharacter:");scanf(',%c,'.&c);fun(s,c):printfCAnTheresultis:%s

433",s);)92、程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。函数fiin的功能是将形参a所指结构体变量中的数据赋给函数中的结构体变量b,并修改b中的学号和姓名,最后输出修改后的数据。例如:a所指变量中的学号、姓名、和三门课的成绩依次是:10001、"ZhangSan"、95、80、88,则修改后输出b中的数据应为:10002、"LiSi"、95、80、88。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include#includestructstudent{longsno;charname[10];floatscore[3J;};voidfun(structstudenta){structstudentb;inti;b.sno=10002:/**********qu()(j**********/strcpy(_2_,printfCAnThedataaftermodified:

434°);primf(AnNo:%IdName:%s

435Scores:",b.sno.b.name);/**********Ciind**********/for(i=0;i<3;i++)primf("%6.2f”,b._3_);printfCAn");Imain(){structstudents=(10001/'ZhangSan",95,80,88};inti;printf("

436

437TheoriginaldataAn");printfCAnNo:%ldName:%s

438Scores:M,s.sno,s.name);for(i=0;i<3;i++)printf("%6.2fs.score[i]>;primfCM");fun(s);93、给定程序中,函数(bn的功能是:在形参ss所指字符串数组中,将所有串长超过k的字符串中右边的字符删除,只保留左边的k个字符。ss所指字符串数组中共有N个字符串,且串长小于M。请在程序的下划线处填入1E确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!/include#include#deGneN5#defineM10/**********found**********/voidfun(char(*ss)_1_,intk){inti=0;/**********found**********/while(i<_2_){/**********found**********/ss[i][k]=_3_;i++;}}

439main(){charx[N][M]={"Creaie","Modify","Sort","skip","Delete"};inti;printf("

440Theoriginalstring

441

442M);for(i=Ou

443");fun(x,4);printf("

444Thesiringafterdeleted:

445

446");for(i=0;i

447M);94、给定程序的功能是:调用函数fun将指定源文件中的内容复制到指定的目标文件中,复制成功时函数返回值为1,失败时返回值为0。在复制的过程中,把复制的内容输出到终端屏幕。主函数中源文件名放在变量sfname中,目标文件名放在变量tfname中。请在程序的下划线处填入iE确的内容并把卜划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!****新视野教育内部资料版权所有翻印必究WWW.EOL360.COM****#include#includeintfun(char*source,char*target){FILEcharch;/**********fou^j**********/if((fs=fopen(source,1))==NULL)return0;if((ft=fopen((arget.Mw"))==NULL)return0;printfCAnThedatainHie:

448M);ch=fgetc(fs);/**********foun(j**********/while(!feof(2)){putchar(ch);/**********found**********/fputc(ch,3);ch=fgetc(fs);)fclose(fs);fclose(ft);printfCAnVn");return1;Imain(){charsfname[20]="myfiler',tfname[2O]="myfile2M;FILE*myf:inti;charc;myf=fopen(sfname."w");printfCAnTheoriginaldata:

449");for(i=l;i<30;i++){c='A'+rand()%25^printf(myf,"%c",c);printf("%cM,c);}fclose(myf);prinlf(Wn");if(fun(sfname.tfname))printf("Succeed!");elseprintf("Fail*");I95、给定程序中,函数ftin的功能是:将形参n中,各位上为偶数的数取出,并按原来从高位到低位的顺序组成•个新的数,并作为函数值返回。例如,从主函数输入一个整数:27638496,函数返回值为:26846。请在程序的卜划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#includeunsignedlongfun(unsignedlongn){unsignedlongx=0,s,i;in(t;/**********Cun(i**********/while(_2_){(=s%10;if(t%2=0){/**********Cund**********/x=x+t*i;i=3_;s=s/10;)returnx;Imain(){unsignedlongn="l;while(n>99999999ln<0){printfC'Pleaseinput(O

450Theresultis:%ld

451".fun(n));96、给定程序中,函数fun的功能是:将自然数I〜10以及它们的平方根写到名为myfile3.lxl的文本文件中,然后再顺序读出显示在屏幕匕请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include#includeintfun(char*fname)floatx;{FILE*fp;inti,nif((fp=fopen(fname.,,w"))=NULL)return0;fbr(i=l;i<=10y++)/**********砧und**********/fprintf(1,"%d%An",i,sqrt((double)i));printf("

452Succeed!!

453M);/**********砧und**********/2;printf("

454Thedatainfile:

455");/**********qund**********/if((fp=fopen(_3"r',))==NULL)return0:fscanf(fp,"%d%r.&n,&x);

456while(!feof(fp)){printf("%d%f

457*iLX);fscanf(fp,"%d%r.&n,&x);}fclose(fp);return1;}main(){charfname[]="myfile3.txt";fun(fname);97、程序通过定义学生结构体数组,存储了若干名学生的学号、姓名和3门课的成绩。函数ftin的功能是将存放学生数据的结构体数组,按照姓名的字典序(从小到大)排序。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANKLC中。不得增行或删行,也不得更改程序的结构!#include#includestructstudent{longsno;charname[IO];floatscore[3J;);voidfun(structstudenta[],intn)/********nd**********/inti,j;/**********IY)und**********/for(i=0;i<2:i++)for(j=i+l;j0){t=a[i];a[i]=a[jj;a[j]=t;}}main(){structstudents[4]={{10001J'ZhangSan",95,80,88).{10002.“LiSi”.85,70,781,{lOOOS.TaoKai",75,60.88}.{IOOO4."FangFang",90,82,87)};inti,j;printf("

458

459Theoriginaldata:

460

461**);for(j=0;j<4;j++){prinlf("

462No:%IdName:%-8sScores:M,s[jl.sno,s[j].name);for(i=0;i<3;i++)printf(0%6.2fM,s(j].score[i]XprintfCV);}fun(s,4);printf(K

463

464Thedataaftersorting:

465

466");for(j=0;j<4;j++){printf("

467No:%ldName:%-8sScores:'\s[j].sno,sfjj.name);for(i=0;i<3;i++)printf("%6.2f",s[j].score[i]);printf("

468");I98、函数fun的功能是:逆置数组元素中的值。例如:若a所指数组中的数据依次为:1、2、3、4、5、6、7、8、9,则逆置后依次为:9、8、7、6、5、4、3、2、1。形参n给出数组中数据的个数。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!****新视野教育内部资料版权所有翻印必究WWW.EOL360.COM****#includevoidfun(inta[],intn){inti,t;/**********fouixl**********/for(i=0;i<_1—;i++)(t=a(ij;a[i]=a[n-l-2—];/**********found**********/main(){intb[9]=<1,23,4,5,6,7,8.9}J;printf("

469Theoriginaldata:

470");for(i=0;i<9;i++)printf("%4d",bfi]);primf(An");fun(b.9);printfCAnThedataafterinvert:

471");for(i=0;i<9;i++)printf("%4d",b[i]);prinlfCAn");99、函数fun的功能是:把形参a所指数组中的最大值放在a[0]中,接着求出a所指数组中的最小值放在a[l]中:再把a所指数组元素中的次大值放在a[2]中,把a数组元素中的次小值放在a[3]中;其余以此类推。例如:若a所指数组中的数据最初排列为:1、4、2、3、9、6、5、8、7,则按规则移动后,数据排列为:9、I、8、2、7、3、6、4、5。形参n中存放a所指数组中数据的个数。请在程序的卜'划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include#defineN9/**********他U*********/voidfun(int1,intn){inti,j,max.min,px.pn.t:/**********Sund**********/for(i=0;ia[j])

472{min=a[jj;pn=j;}}if(px!=i){t=a[ij;a(i]=max;a[px]=t;if(pn=i)pn=px;)if(pn!=i+l){t=a[i+l];a[i+l]=min;a[pn]=t;))}main(){inib[Nl={l,4,2,3,9,6,5,8,7),i;printfCAnTheoriginaldata:

473H);for(i=0;i

474");fun(b,N);printfCAnThedataaftermoving:

475M);for(i=0;i#include#defineN5#defineM15voidfun(char(*ss)[M],char*substr){inti,find=0;/**********found**********/for(i=0;i<_1_;i++)/**********句und**********/if(strstr(ss[i],_2_)!=NULL){find=l;puts(ss[i]);printfCAn");|/**********砧und**********/if(find==_3„)printf("

476Don'tfoundin,*);Imain(){charx[N][M]={,,BASIC";'Clangwage","JavawZQBASICVAccess"hstr(M];inti;printfCAnTheoriginals(ring

477

478");for(i=0;i

479M);printf("

480Enterastringfbrsearch:");gets(str);fun(x,str);1二、程序修改题1、给定程序MODI1.C中函数fun的功能是:比较两个字符串,将长的那个字符串的首地址作为函数值返回。请改正函数fun中指定部位的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#include/**********£^und**********/charfun(char*s,char*t){intsl=O,tl=O;char*ss»*tt;ss=s;tt=t;while(*ss){si++;/**********j^und**********/(♦ss)++;)while(*tt){tl++;/**********1^Uf)(j**********/

481elsereturns;main(){chara[80],b[80],*p,*q;inti;printf("

482Enterastring:");gets(a);printf("

483Enterastringagain:");gets(b);printfCAnThelongeris:

484

485\"%s\'*

486",fun(a.b));}2、给定程序MODILC中函数fun的功能是:在p所指字符串中找出ASCII码值最大的字符,将其放在第一个位置上:并将该字符前的原字符向后顺序移动。例如,调用fun函数之前给字符串输入:ABCDeFGH,调用后字符中中的内容为:eABCDFGHo请改正程序中的错误,使它能得出正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。#includefun(char*p){charmax.*q;inti=0;max=p[i];while(p[i)!=O){if(maxi++;)/**********Cup(j**********/wihle(q>p){*q=*(q-l);q-;p[O]=max;main(){charstr[8O];printf("Enterastring:");gets(str);printfCXnTheoriginalstring:*');puts(str);fun(str);printf("

487Thestringaftermoving:");puts(str);printf("

488

489M);)3、给定程序MODI1.C中函数fun的功能是:根据整型形参m,计算如下公式的值。1111y=++++100*100200*200300*300m*m例如,若m=2000,则应输出:0.000160。请改正程序中的语法错误,使它能计算出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#include/************Sund************/fun(intm){doubley=0,d;inti;/************Cund************/for(i=100,i<=m,i+=100){d=(double)i♦(double)i;y+=1.0/d;)retum(y);}main(){intn=2000;printf(M

490Theresultis%lAnH,fun(n));4、给定程序MODILC中函数fun的功能是:读入•个字符串(长度V20),将该字符串中的所有字符按ASCII码升序排序后输出。例如,若输入:edcba,则应输出:abcde.请改正程序中的错误,使它能统计出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#includevoidfun(chart[])Ichare;inti,j;

491for(i=strlenft);i;i—)for(j=0;j

492Pleaseenteracharacterstring:");gets(s);printf("

493

494Beforesorting:

495s);fun(s);printf("

496Aftersortingdecendingly:

497V%sV,M,s);5、给定程序M0DI1.C中fun函数的功能是:分别统计字符串中大写字母和小写字母的个数。例如,给字符串s输入:AAaaBBbl23CCccccd,则应输出结果:upper=6,lower=8(>请改正程序中的错误,使它能计算出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#include/**********found**********/voidfun(char*s.inta,intb)while(*s){if(*s>='A'&&*s<=Z)/**********found**********/*a=a+l;if(*s>='a'&&*s<=N)/**********fou^j**********/*b=b+l;s++;}}main()(chars[100];in(upper=0,lower=0;printf("

498Pleaseastring:H);gets(s);fun(s,&upper,&lower);printf("

499upper=%dlower=%d

500'\upper,lower);}6、给定程序MODILC中函数fun的功能是:统计substr所指子字符串在str所指字符串中出现的次数。例如,若字符串为aaaslkaaas,了字符串为as,则应输出2。请改正程序中的错误,使它能计算出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#includefun(char*str.char*subs(r){inti.j.k.num=0;/************Cund************/for(i=0.str[i],i-H-)for(j=i,k=0^ubs(r(k]=str[j]jc++,j++)/************found************/If(substr[k+l]==\O'){num++;break;}returnnum;)main()[charstr[8OJ,substr(8O];printf("Inputastring:");gets(str);printf("Inputasubstring:',);gets(substr);printf(''%d

501M.fun(str,substr));I7、给定程序MODILC中函数fun的功能是:根据整型形参m的值,计算如下公式的值。I1I2*23*3例如,若m中的值为:5,则应输出:0.536389。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!/includedoublefun(intm){doubley=1.0;inti;/**************fkiurid**************/fdr(i=2;i

502Theresultis%lf

503",fun(n));)8、给定程序MOD".C中函数fun的功能是:逐个比较p、q所指两个字符串对应位置中的字符,把ASCII值大或相等的字符依次存放到c所指数组中,形成一个新的字符串。例如,若主函数中a字符串为:aBCDeFgH,主函数中b字符串为:ABcd,则c中的字符串应为:aBcdeFgHo请改正程序中的错误,使它能得出正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。

504#include#includevoidfiin(char*p,char*q,char*c)/************foUf](j************/intk=I:/************foui^j************/while(*p!=*q){if(*p<*q)c[k]=*q;elsec[k]=*p;if(*p)P++:if(*q)q++:k++;))main()(chara[10]=,,aBCDeFgH",6(10]="ABcd",c[80]=(V)'};fun(a,b,c);printf("Thestringa:puts(a);printf("Thestringb:");puts(b);printf("Theresult:");puts(c);9、给定程序MODI1.C中函数fun的功能是:从s所指字符串中删除所有小写字母c。请改正程序中的错误,使它能计算出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#includevoidfun(char*s)(intij;for(i=j=0;i++)if(s[i]!='c')/************foufyj************/s[j]=s[i];/************found************/s[il='\0';)main(){chars(80];printf("Enterastring:");gets(s);printf("Theoriginalstring:");puts(s);fun(s);printfC'Thestringafterdeleted:puts(s);printf('l\ii

505N);I10、给定程序MODI1.C中函数ftm的功能是:根据以下公式求下值,并作为函数值返回。例如,给指定精度的变量eps输入0.0005时,应当输出Pi=3.140578。n1121231234—1+—+—X—+—X—X—+-X-X-X—+23353573579请改正程序中的错误,使它能得出正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。#include#includedoublefun((k)ubleeps){doubles,t;intn=l;s=0.0;/************Cund************/t=0;while(t>eps){s+=t;t=t*n/(2*n+l);n++;/************Sund************/retum(s);main(){doublex;printf("

506Pleaseenteraprecision:");scanf("%l「.&x):prin(f("

507eps=%lf,Pi=%lf

508

509",x,fun(x));11、给定程序MODI1.C中函数fun的功能是:找出一个大于形参m且紧随m的素数,并作为函数值返回。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!/includeintfun(intm){inti.k;for(i=m+I;;i++){for(k=2;k

510",n);}12、给定程序MODII.C中函数ftin的功能是:首先把b所指字符串中的字符按逆序存放,然后将a所指字符串中的字符和b所指字符串中的字符,按排列的顺序交叉合并到c所指数组中,过长的剩余字符接在c所指数组的尾部。例如,当a所指字符串中的内容为“abcdefg",b所指字符串中的内容为“1234”时,c所指数组中的内容应该为“a4b3c2dlefg":而当a所指字符串中的内容为”1234”,b所指字符串中的内容为"abcdefg”时,c所指数组中的内容应该为“lg2f3e4dcba”。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#include

511#includevoidfiin(char*a,char*b.char*c)inii,j;charch;i=0:j=strlen(b)-l;/************found************/while(i>j){ch=b[i];b[i]=b[j];bU]=ch;i++;j-;while(*aII*b){/************found************/If(*a){*c=*a;c++;a-H-;}if(*b){*c=*b;C++;b++;}Imain()charsl[IOO].s2[lOO].t[2OO];printf("

512Enterslstring:scanfC%s"«sl);printf("

513Enters2string:");scanf("%sls2):fun(si,s2,t);printf("

514Theresultis:%s

515",t);13、给定程序MODI1.C中函数fun的功能是:从低位开始取出长整型变量s中偶数位上的数,依次构成•个新数放在t中。高位仍在高位,低位仍在低位。例如,当s中的数为:7654321时,t中的数为:642.请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#includevoidfun(longs,longt){longsl=10;s/=10;*t=s%10;while(s<0)(s=s/100;*t=s%10*sl+*t;si=si♦10;))main(){longs,t;fwintfCAnPleaseenters:M);scanf("%ld",&s);fun(s,&t);printf("Theresultis:%ld

516",t);I14、给定程序MODII.C中函数fun的功能是:计算小于形参k的最大的10个能被13或17整除的自然数之和。k的值由主函数传入,若k的值为500,则函数值为4622。请改正程序中的错误,使程序能输出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#includeintfiin(intk){intm=0,mc=0,j;while((k>=2)&&(me<10))/************foun(j************/if((k%13=0)ll(k%17=0)){m=m+k;mc++;}k-;)returnm;/************fourxl************/main()[printfC^dXn",fun(500));15、给定程序MODII.C是建立一个带头结点的单向链表,并用随机函数为各结点数据域赋值。函数ftin的作用是求出单向链衣结点(不包括头结点)数据域中的最大值,并且作为函数值返回。请改正函数fun中指定部位的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!/include#includetypedefstructaa(intdata;structaa*next;)NODE;fun(NODE*h){intmax=-l;NODE*p;/***********found**********/p=h;while(p){if(p->data>max)max=p->data;/***********found**********/p=h->next;)returnmax:outresult(ints,FILE*pf){fprintfCpf/AnThemaxinlink:%d

517".s);}NODE*creatlink(intn,intm){NODE*h,*p,*s,*q;inti,x;h=p=(NODE*)mailoc(sizeof(NODE));h->data=9999;for(i=l;i<=n;i++){s=(NODE*)malloc(sizeof(NODE)):s->data=rand()%m;s->next=p->next:p->next=s;p=p->next;)p->next=NULL;returnh;}outlink(NODE*h,FILE*pt)

518(NODE*p;p=h->nex(;fprin(f(pf:'

519THELIST:

520

521HEAD");while(p){fprintf(pf.,,->%d",p->data);p=p->next;|fprintf(pf,"

522M);)main(){NODE*head;intm;head=creatlink(12.100);outlink(head.stdout);m=fun(head);printfCAnTHERESULT:

523");outresult(m,stdout);)16、给定程序MODll.C中函数fun的功能是:从N个字符串中找1H最长的那个事.并将其地址作为函数值返同。各字符串在主函数中输入,并放入•个字符申数组中。请改正程序中的错误,使它能得出正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。#include#include#defineN5#deHneM81/**********found**********/fun(char(*sq)[M])(inti;char*sp;sp=sq[01;for(i=0;i

524",N);for(i=0:i

525TheNstring:

526';N);for(i=0;i

527Thelongeststring:

528M);puts(longest);)17、给定程序MODll.C的功能是:读入一个英文文本行,将其中每个单词的第一个字母改成大写,然后输出此文本行(这里的“单词”是指由空格隔开的字符串)。例如,若输入:Iamastudenttotaketheexamination..则应输出:IAmAStudentToTakeTheExamination.»请改正程序中的错误,便程序能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#include#include/************命und************/include(stdio.a)/************他und************/upfst(charp){intk=0;for(;*p;p++)if(k){if(*p==**)k=0;)elseif(»p!=*'){k=1;*p=toupper(*p);}Imain(){charchrstr[8l];

529printf("

530PleaseenteranEnglishtextline:");gets(chrstr);printf("

531

532Beforechanging:

533%s",chrstr);upfst(chrstr);printf('AnAfterchangingAn%s

534M,chrstr);I18、给定程序M0D11.CU」函数fun的功能是:从n(形参)个学生的成绩中统计出低于平均分的学生人数,此人数由函数值返同,平均分存放在形参aver所指的存储单元中。例如,若输入8名学生的成绩:805607290.59851.58864则低于平均分的学生人数为:4(平均分为:755625).请改正程序中的错误,使它能统计出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#include#defineN20intfun(float*s,inin,float*aver){floatave,t=0.0;intcount=0,k,i;for(k=0;k

535Pleaseenter%dmark:

536",m);forfi=0;i

537Thenumberofstudents:%d

538".fun(s,m.&aver));printf("Ave=%An",aver);从整数1到55之间,选出能被3整除、「I有一位上的数是5的那些数,并把这些数放在b所指的数组中,这些数的心放卜位数。也不得更改程序的结构。19、给定程序MODI1.C中函数fun的功能是:个数作为函数值返回。规定,函数中al放个位数,请改正程序中的错误,使它能得出正确结果。注意:不要改动main函数,不得增行或删行,/includefun(int*b){intk,al,a2,i=0;for(k=10;k<=55;k++){/************fouixi************/a2=k/lO;al=k-a2*10;if((k%3=0&&a2=5)Kk%3==0&&al=5))(b(i]=k;i++;)/************f0U|^j************/returnk;}main(){inta[100],k,m;m=fun(a);printf("Theresultis:

539");for(k=0;k/*********found**********/intfun(intx.inty)intt;/*********,hund**********/t=x;x=y;y=t;}main()inta,b;a=8;b=3;fun(&a,&b);printf("%d,%d

540",a,b);21、给定程序MODll.C中fun函数的功能是:求出以下分数序列的前n项之和。235813211235813和值通过函数值返回main函数。例如,若n=5,则应输出:8.391667c请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#include/***********nd**************/fun(intn){inta=2,b=l,c,k;doubles=0.0;for(k=1;k<=n;k++)(s=s+1.0*a/b;/**************found**************/c=a;a+=b;b+=c;)

541retum(s);}main(){intn=5;printf("

542Thevalueoffunctionis:%lf

543",fun(n));I22、给定程序MODll.C中函数fun的功能是:利用插入排序法对字符申中的字符按从小到大的顺序进行排序。插入法的基本算法是:先时字符串中的头两个元素进行排序。然后把第三个字符插入到前两个字符中,插入后前三个字符依然有序;再把第四个字符插入到前三个字符中,……。待排序的字符串已在主函数中赋予。请改正程序中的错误,使它能得出正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。#include#include#defineN80voidinsert(char*aa){intij,n;charch;/**********found**********/n=strlen[aa];for(i=l;i=0)&&(ch

544M,a);insert(a);printf("Thestringaftersorting:%s

545

546",a);23、给定程序MODll.C中函数fun的功能是:应用递归算法求形参a的平方根。求平方根的迭代公式如F:1axl=—(x0+一)2x0例如,a为2时,平方根值为:1.414214。请改正程序中的错误,使它能得出正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。#include#include/**********Cund**********/doublefun(doublea,dounlexO){doublexl,y;x1=(x0+a/x0)/2.0;/**********found**********/if(fabs(xl-xo)>0.00001)y=fun(a.xl);elsey=xl;returny;}main(){doublex;printf("Enterx:");scanf("%lF,&x);printf("Thesquarerootof%lfis%1An".x,fun(x,1.0));24、给定程序MOD11.C中函数fun的功能是:统计字符串中各元音字母(即:A、E、I、O、U)的个数。注意:字母不分大、小写。例如:若输入:THlsisaboot,则输出应该是:I、0、2、2、0.请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#includefun(char*s,intnum[5]){intk.i=5;for(k=0;k=0)num[i]++;main(){charsi[81];intnuml[5]J;printf(M

547P)easeenterastring:");gets(si);fun(si,numl);for(i=0;i<5;i++)printf(M%d".numl(i]);primf("Xn");}25、给定程序M0DI1.C中函数fun的功能是:将s所指字符串的正序和反序进行连接,形成一个新串放在I所指的数组中。例如,当s所指字符串为:"ABCD”时,则t所指字符串中的内容应为:“ABCDDCBA"。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#include#include/************fouf)(j************/voidfun(chars,chart)inti,d;d=strlen(s);for(i=0;i

548]chars(100],t[100];printf("

549PleaseenterstringS:M);scanf("%sM,s);fun(s,t);prinlf("

550Theresultis:%s

551",t);26、给定程序MODI1.C中函数fun的功能是:将十进制正整数m转换成k(2Wk<9)进制数,并按高位到低位顺序输出。例如,若输入8和2,则应输出1000(即十进制数8转换成二进制表示是1000)c请改正fun函数中的错误,使它能得出正确的结果。注意:不要改动main函数。不得增行或删行,也不得更改程序的结构!#include#includevoidtun(intm.intk)intaa[20].i;for(i=0:m;i++)/********nd**********/aa[i]=m/k;m/=k;}for(;i;i-)/**********found**********/printf("%d”.aa[i]);Imain()]intb,n;prin(f("

552Pleaseenteranumberandabase:

553");scanf(M%d%d';&n,&b);fun(n,b);printfCAn");)27、给定程序MODI1.C是建立一个带头结点的单向链我,并用随机函数为各结点赋值。函数fun的功能是将单向链表结点(不包括头结点)数据域为偶数的值累加起来,并且作为函数值返回。请改正函数fun中指定部位的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#include#includetypedefstructaa{intdata;structaa*next;}NODE;intfun(NODE*h){intsum=0;NODE*p;/***********found**********/p=h;while(p){if(p->data%2==0)sum+=p->data;/*****4t*****found**********/p=h->nex(;Ireturnsum;)NODE*creallink(intn){NODE*h,*p,*s,*q;inti,x;h=p=(NODE*)mal)oc(sizeof(NODE));for(i=l;i<=n;i++){s=(NODE*)malIoc(sizeof(NODE));s->data=rand()%16;s->next=p->next;p->next=s;p=p->next;)p->next=NULL;returnh;}outlink(NODE*h,FILE*pf){NODE*p;p=h->next;fprintf(pf.,r

554

555THELIST:

556

557HEAD”);while(p){fprintf(pf,',->%d",p->data);p=p->next;}fprinif(pf.W);}outresult(ints,FILE*pf){fprintf(pf,"

558Thesumofevennumbers:%d

559",s);Jmain(){NODE*head;inteven;head=creatlink(12);head->data=9(XX);outlink(head,stdout);even=fiin(head);printfCAnTheresult:

560");outresult(even,stdout);I28、给定程序MODII.C中函数fun的功能是:对N名学生的学习成绩,按从高到低的顺序找出前m(mW10)名学生来,并将这些学生数据存放在•个动态分配的连续存储区中,此存储区的首地址作为函数值返回。请改正函数fun中指定部位的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#include#include#include#defineN10typedefstructss(charnum[10];ints;}STU;STU*fun(STUa[].intm){STUb(N],*t;intij,k;/**********他U*********/t=(STU*)calloc(sizeof(STU),m)for(i=0;ib[j].s)j=i;

561/**********1^Upd**********/t(k)=b(j);b|j].s=0;)returnt;)outresuh(STUa[],FILE*pf)(inti;for(i=0;i

562",a[i].num,a[i].s);fprintf(pf,,,

563

564M);}main(){STUa[N]={{"A01”,81},{"A02",89}.{"A03".66},{"A04",87},{"A05",77).{,,A06",90},{"A07,\79},{"A08,1,61},{"A09",80|,{,'AI0';71}STU*pOrder;inti.m;printf(w*****TheOriginaldataouiresult(a,stdout);printf("

565Givethenumberof(hestudentswhohavebetterscore:");scanf("%d",&m);while(m>10){printf("

566Givethenumberofthestudentswhohavebetterscore:");scanf(M%d".&m);)pOrder=fun(a,m);printfC'*****THERESULT♦****

567");prinlf("Thetop:

568");for(i=0;i

569M,pOrder[i].num,pOrder(ij.s);free(pOrder);29、给定程序MODI1.C中函数fun的功能是:判断一个整数是否是素数,若是返向1,否则返向0。在main。函数中,若fun返回1输出YES,若fun返回0输出NO!。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数。不得增行或删行,也不得更改程序的结构!#includeintfun(intm){imk=2;while(k<=m&&(m%k))/************Cund************/k++/************fi()uiicj************/if(m=k)return1;elsereturn0;Imain(){intn;printf(M

570Pleaseentern:");scanf("%d",&n);if(fun(n))printf("YES

571M);elseprintf("NO^");30、给定程序MODII.C中的函数Creatlink的功能是创建带头结点的单向链表,并为各结点数据域赋。到m-1的值。请改正函数Creatlink中指定部位的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#include#includetypedefstructaa

572Iintdata;structaa*next;)NODE;NODE*Creatlink(intn,intm){NODE*h=NULL,*p,*s;inti;/**********IY)und***********/p=(NODE)malloc(sizeof(NODE));h=p;p->next=NULL;for(i=l;i<=n;i-H-){s=(NODE*)malloc(sizeof(NODE));s->daia=rand()%m;s->next=p->nex(;p->next=s;p=p->next;returnp;}oudink(NODE*h){NODE*p;p=h->next;prin(f("

573

574THELIST:

575

576while(p)(printf("->%d",p->data);p=p->next;)printf("

577");Imain(){NODE*head;head=Creatlink(8,22);outlink(head):31、给定程序M0DI1.C中函数fun的功能是:根据整型形参n,计算如下公式的值。474•……A-例如,若n=10,则应输出:0.6179770请改正程序中的语法错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#includeintfun(intn){floatA=1;inti;/************j^und************/fbr(i=2:i

578".n,fun(n));}32、给定程序MODH.C中函数fun的功能是:依次取出字符串中所有数字字符,形成新的字符串,并取代原字符串。请改正函数fun中指定部位的错误.使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#includevoidfun(char*s){intij;fbr(i=Oj=O;s[i]!=*\0';i++)if(s[i]>='0,&&s[il<='91)/**********qUf}d**********/S|j]=S[i];/**********Cund**********/s[jl="\OM;)main(){charitem(801;printf('AnEnterastring:");gels(item);printfCAnXnThestringis:\M%s\M

579,,,item);fun(item);printfCAnKnThestringofchangingis:\"%s\"

580'\item);33、假定整数数列中的数不重复,并存放在数组中。给定程序MOD11.C中函数fun的功能是:删除数列中值为x的元素。n中存放的是数列中元素的个数.请改正程序中的错误,使它能得出正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。#include#defineN20fun(int*a,intn,intx){intp=0.i;a[n)=x;while(x!=a[p])p=p+l;/**********qund**********/if(p==n)return-I;else(for(i=p:i

581M);for(i=0:i

582Inputx(todelete):");scanf("%d",&x);printf("Delete:%d

583**.x);n=fun(w.n,x);if(n==-l)printf("***Notbefound!***

584

585");else(printf("Thedataafterdeleted:

586");for(i=0;i

587

588");

58934、已知一个数列从第0项开始的前三项分别为0,0,1,以后的各项都是其相邻的前三项之和。给定程序MODILC中函数fun的功能是:计算并输出该数列前n项的平方根之和。n的值通过形参传入。例如,当n=10时,程序的输出结果应为:23.197745。请改正程序中的错误,使程序能输出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#include#include/************found************/fun(intn){doublesum,sO,si,s2,s;intk;sum=1.0;if(n<=2)sum=0.0;s0=0.0:sl=0.0;s2=1.0;for(k=4;k<=n;k++){s=sO+sl+s2;sum+=sqrt(s);sO=si;si=s2;s2=s;)/************found************/returnsum}main(){intn;printfC'InpulN=M);scanf("%dH,&n);printf("%f

590".fun(n));I35、给定程序MODIl.C中函数fun的功能是:将s所指字符串中最后•次出现的与tl所指字符串相同的了中替换成12所指字符串,所形成的新申放在w所指的数组中。在此处,要求tl和t2所指字符串的长度相同。例如,当s所指字符串中的内容为:"abcdabfabcMtl所指子申中的内容为:"ab",t2所指子申中的内容为:“99"时,结果,在w所指的数组中的内容应为:“abcdabf99c”。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#include#includeintfun(char*s,char*tl.char*t2,char*w)[inti;char*p,*r,*a;strcpy(w.s);while(w){p=w;r=tl;while(*r)/************Cund************/IF(*r=*p)(r++;}elsebreak;if(*r=='\0')a=w;w++;)r=t2;while(*r){*a=*r;a++;r-H-;})main()[chars[100].11[100],0100].w|100|;printf("

591PleaseenterstringS:M);scanf("%s",s);printf("

592Pleaseentersubstring[1scanf("%sM.tl);printf("

593Pleaseentersubstringt2:");scanf(*%s",(2);if(strlen(tl)==strlen(t2)){fun(s,w);printf("

594Theresultis:%s

595".w);}elseprintf("

596Error:strlen(tl)!=strlen(t2)

597M);)36、给定程序MODII.C中函数fun的功能是:求出以下分数序列的前n项之和。和值通过函数值返回到main函数。235813211235813例如,若n=5,则应输出:8391667。请改正程序中的错误,使它能计算出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!/include/************Cund************/fun(intn){inta,b,c,k;doubles;s=0.0;a=2;b=1;for(k=1;k<=n;k++)(/************Cund************/s=s+(Double)a/b;c=a;a=a+b;b=c;)returns;)main(){intn=5;printf('AnThevalueoffunctionis:%lf

598",fun(n));}37、给定程序MODII.C中函数fun的功能是:计算n!。例如,给n输入5,则输出120000000。清改正程序中的错误,使程序能输出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改制手的结构!#includedoublefun(inin){doubleresult=1.0;/************Cund************/ifn==0return1.0;while(n>l&&n<170)/************命und************/result*=n—returnresult;)main()(intn;printf("lnputN:");scanf("%d".&n);printf("

599

600%d!=%lAn

601",n.fun(n));

60238、给定程序MODII.C中函数fun的功能是:先将s所指字符串中的字符按逆序存放到l所指字符串中,然后把s所指串中的字符按正序连接到I所指串的后面。例如:当s所指的字符串为:"ABCDE”时,贝h所指的字符串应为:"EDCBAABCDE”。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#include#includevoidfun(char*s,char*t)I/************他und************/inti;si=strlen(s);for(i=0;i

603Pleaseenterstrings:w);scanf(M%s*,s);fun(s,t);prin(f("Theresultis:%s

604",t);}39、给定程序MODH.C中fun函数的功能是:根据整型形参m,计算如下公式的值。11鳖123m例如,若主函数中输入5,则应输出-0283333.请改正函数fun中的错误或在横线处填上适当的内容并把横线删除,使它能计算出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#includedoublefun(intm)]doublet=1.0;inti;for(i=2;i<=m;i++)/**********found**********/t=1.0-1/i;/**********found**********/)main()]intm;printf('AnPleaseenterIintegernumbers:

605M);scanf("%d",&m);printf('AnXnTheresultis%IAn",fun(m));40、给定程序MODI1.C中函数fun的功能是:根据形参m的值(2WmW9),在m行m列的二维数组中存放如下所示规律的数据,由main函数输出。例如,若输入2I若输入4则输出:I则输出:I2I123424I2468I36912I481216请改正程序函数中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#include#defineM10intalM|(M)={0};/**************found**************/fun(int**a,intm){intj.k;for(j=0;j

606");41、给定程序M0DI1.CU」函数fun的功能是:先从键盘上输入♦个3行3列矩阵的各个元素的值,然后输出主对角线元素之和。请改正函数fun中的错误或在横线处填上适当的内容并把横线删除,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#includeintfun()inta[3][3],sum;inlij;/*********l^und**********/for(i=0u<3;i++)(for(j=0u<3j++)/*********found**********/}

607for(i=0u<3;i++)sum=sum-t-a[i][i];printf(',Sum=%d

608,\sum);}main()fun();)42、给定程序MODII.C中函数ftin的功能是:将s所指字符串中的字母转换为按字母序列的后续字母(但Z转换为Zz转换为a),其它字符不变。请改正函数fun中指定部位的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#include#includevoidfun(char*s)/**********found***********/while(*s!=,@,){if(*s>='A,&*s<='ZII♦s>=,a,&&*s<='z'){if(*s='Z)♦s=,A';elseif(*s==z')*s='a*;else}/**********Cup(j***********/(*s)++;Imain(){chars[80];printf("

609Enterastringwithlength<80.:

610

611");ge(s(s);printf("

612Thestring:

613

614");puts(s);fun(s);primfC*

615

616TheCords:

617

618puts(s);)43、给定程序MODI1.C中函数fun的功能是:计算s所指字符串中含有t所指字符串的数目,并作为函数值返回。请改正函数fun中指定部位的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#include#include#defineN80intfiin(char*s,char*t){intn;char*p,*r;n=0;while(*s){P=s;/*********found**********/r=p;while(*r)if(*r==*p){r++;p++:}elsebreak;/*********found**********/if(*r=O)n++;S++;)returnn;)main(){chara(N],b[NJ;intm;printfCAnPleaseenterstringa:");gets(a);printfCAnPleaseentersubstringb:");gets(b);m=fun(a,b);printfCAnTheresultis:m=%d

619".m);44、给定程序MODI1.C中函数fun的功能是:将长整型数中每一位上为奇数的数依次取出,构成一个新数放在[中。高位仍在高位,低位仍在低位。例如,当s中的数为:87653142时,I中的数为:753E请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#inciudevoidfun(longs.long*t){intd;longsl=l;/************Cund************/t=0;while(s>0){d=s%10;if(d%2=0){*t=d*si+*t;si*=10;}s/=10;main(){longs,t;clrscr();prin(f("

620Pleaseenters:M);scanf(M%ld".&s);fun(s,&();printfC'Theresultis:%ld

621",t);45、给定程序MODI1.C中函数fun的功能是:求三个数的最小公倍数。例如,给主函数中的变量xl、x2、x3分别输入15112,则输出结果应当是:330。请改正程序中的错误,使它能得出正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。#include/************found************/fun(intx,y,z){intj,t,n,m;

622t=j%x;m=j%y;n=j%z;whiled!=0llm!=0lln!=0)(j=j+l;t=j%x;m=j%y;n=j%z;}/************found************/returni;Imain(){intxl,x2,x3,j;printf("Inputxlx2x3:");scanf(M%d%d%dM,&xI,&x2,&x3);printf(Mxl=%d,x2=%d,x3=%d

623",xl»x2,x3);j=fun(xl,x2,x3);printfC'Theminimalcommonmultipleis:%d

624"J);}46、给定程序MODI1.C中函数fun的功能是:输出M行M列整数方阵,然后求两条刻角线上元素之和,返回此和数。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#include#defineM5/************£i0und************/intfun(intn,intxx[][]){inti,j,sum=0;printf("

625The%dx%dmatrixAn",M.M);for(i=0;i

626Thesumofallelementson2diagnalsis%d.'\fun(M,aa));)47、给定程序MODI1.C中函数fun的功能是:在字符串的最前端加入n个*号,形成新串,并且覆盖原串。注意:字符串的长度最长允许为79。请改正函数fun中指定部位的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#include#includevoidfiin(chars[],intn)chara|80J,*p;inti;/**********Cuf)(]***********/s=p:for(i=0;i

627Thestring\"%sV

628”,s);printf('AnEntern(numberof*):");scanf(M%dM,&n);fun(s,n);printf(AnThestringafterinster:\"%s\M

629M,s);48、给定程序MODI1.C中函数fun的功能是:求S的值。X4、6,(好"33*55»7(次-1X及+1)例如,当k为10时,函数值应为:1.533852。请改正程序中的错误,使程序能输出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#include#include/************必und************/voidfun(intk){intn;floats,w,p,q;n=1;s=1.0;while(n<=k){w=2.0*n;p=w-1.0;q=w+1.0;s=s♦w*w/p/q;n++;)

630/************他und************/returns}main()49、给定程序MODILC中函数fun的功能是:由形参给定n个实数,输出平均值,并统计在平均值以上(含平均值)的实数个数。例如,n=8时,输入:193.199,195.673,195.757,196.051196092,196596496579196.763所得平均值为:195.838745,在平均值以上的实数个数应为:5请改正程序中的错误,使程序能输出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#includeintfun(floatx[],intn)/************Sund************/intj,c=0,floatxa=0.0;for(j=0;j

631",xa);for(j=O;jxa)C++;returnc;main(){floatx(100]={193.199,195.673,195.757,196.051,196.092,196596,196579,196.763};printf(n%d

632",fun(x,8));I50、给定程序MODI1.C中函数fun的功能是:将s所指字符申中位于奇数位置的字符或ASCII码为偶数的字符放入t所指数组中(规定第•个字符放在第0位中)。例如,字符串中的数据为:AABBCCDDEEFF.则输出应当是:ABBCDDEFFo请改正函数fun中指定部位的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#include#include#defineN80voidfun(char*s,chiir([]){inti,j=0;fbr(i=O;i

633Theresultis:%s

634,f,t);}51、给定程序MODILC中函数fun的功能是:应用递归算法求形参a的平方根。求平方根的迭代公式如下:1axl=—(x0+—)2x0例如,a为2时,平方根值为:1.414214。请改正程序中的错误,使它能得出正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。#include#include/**********found**********/doublefun(doublea,dounlexO){doublexl,y;x1=(x0+a/x0)/2.0;/**********佑und**********/if(fabs(x1-xo)>0.00001)y=fun(a,xl);elsey=xl;returny;Imain(){doublex;printfC'Enterx:");scaM("%lf'.&x);printfC'Thesquarerootof%lfis%lf

635",x.fun(x,1.0));52、给定程序MODH.C中函数fun的功能是:将s所指字符串的正序和反序进行连接,形成一个新串放在t所指的数组中。例如,当s所指字符串为:”ABCD"时,则t所指字符串中的内容应为:"ABCDDCBA:请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#include#include/************他und************/voidfun(chars,chart)Iinti,d;d=strlen(s);for(i=O;il-i];/************Cund************/)main()]chars(100],t[100];printf("

636PleaseenterstringS:M);scanf("%s",s);fun(s.();printf("

637Theresultis:%s

638",t);53、给定程序MODH.C中函数fun的功能是:用冒泡法对6个字符串按由小到大的顺序进行排序。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#include#include#detmeMAXLINE20

639fun(char*pstr[6]){intij;char*p;for(i=0;i<5;i-H-){/**************Sund**************/for(j=i+l,j<6,j++)(if(slrcmp(*(psir+i),*(pstr+j))>0)(p=*(pstr+i);/**************Cund**************/*(pstr+i)=pstr+j;*(pstr+j)=p;)Imain(){inti;char*pstr[6],str[6|[MAXLINE];for(i=0:i<6;i++)pstr[i]=s(r[i];printf('AnEnter6string(1stringateachline):

640M);for(i=0;i<6;i++)scanf(s",pstr[i]);fun(pstr);prinlf("Thestringsaftersorting:

641'r);for(i=0;i<6;i++)prin(f("%s

642M.pstr[i]);54、给定程序MODH.C中函数fun的功能是:计算函数F(x*)=(x+y)/(x-y)+(z+y)/(z-y)的值.其中x和y的值不等,z和y的值不等。例如,当x的值为9、y的值为11、z的值为15时,函数值为-3.50.清改正程序中的错误,使它能得出正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。****新视野教育内部资料版权所有翻印必究WWW.EOL360.COM****#include#include#include/************Cund************/#defineFU(m,n)(m/n)floatfun(floata,floatb.floatc){floatvalue;value=FU(a+b,a-b)+FU(c+b,c-b):/************Cund************/Retum(Value);main()Ifloatx,y,z,sum;printf("Inputxyz:*');scanf(;&x,&y,&z);printf("x=%f,y=%f,z=%f

643M,x,y,z);if(x==ylly==z){printf("Dataerror!

644n);exit(0);)sum=fun(x,y,z):printf(nTheresultis:%5.2f

645*»sum);55、给定程序MODI1.C中函数fun的功能是:用下面的公式求n的近似值,直到最后一项的绝对值小于指定的数(参数num)为止:n1I1a5sj,+-+...4357例如,程序运行后.输入0.0001.则程序输出3.1414。请改正程序中的错误,使它能输出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#include#includefloatfun(floatnum)(ints;floatn,t.pi;t=l;pi=0;n=l;s=l;/**************found**************/while(t>=num)(pi=pi+t;n=n+2;t=s%n;)pi=pi*4;returnpi;}main(){floatnl,n2;prinif(HEnterafloatnumber:");scanfC^P,&nl);n2=fun(nl);printf("%6.4f

646,,,n2);56、给定程序M0DI1.C中函数fun的功能是:将字符串中的字符按逆序输出,但不改变字符串中的内容。例如,若字符串为abed,则应输出:debao请改正程序中的错误,使它能计算出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#include/************Cund************/fun(chara){if(*a){fun(a+l);/************found************/printfC^c***a);)main(){chars[10]="abcd'';primf("处理前字符串=%s

647处理后字符串=",s);fun(s);printfCW);}

648给定程序MODI1C中函数fun和funx的功能是,用二分法求方程弟-4月3.6=0的一个粮,并要求绝对误差不超过0001.例如,若给m输入“00,给n输入90,则函数求得的一个根值为2.000。请改正程序中的错误,使它能得出正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。#include#includedoublefunx(doublex)(reium(2*x*x*x-4*x*x+3*x-6);}doublefun(doublem.doublen)]/************他und************/intr;r=(m+n)/2;while(fabs(n-m)<0.001){if(funx(r)*funx(n)<0)m=r;elsen=r;r=(m+n)/2;)returnr;}main(){doublem,n,root;printf("Entermn:

649");scanf("%lf%lF,&m,&n);root=fun(m,n);printf("root=%6.3f

650,,,roo();)58、给定程序M0DI1.C中函数fun的功能是:从低位开始取出长整型变曷s中偶数位上的数,依次构成一个新数放在I中。高位仍在高位,低位仍在低位。例如,当s中的数为:7654321时,I中的数为:642o请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程/手的结构!****新视野教育内部资料版权所有翻印必究WWW.EOL360.COM****#include/************Cund************/voidfun(longs,longt){longsl=10;s/=10;*t=s%10;/************Cund************/while(s<0){s=s/100;*t=s%10*sl+*t;si=si*10;main()(longs,t:printf("

651Pleaseenters:*);scanf("%id".&s);fun(s,&();printf("Theresultis:%id

652",t);}59、给定程序MODH.C中函数fun的功能是:计算n!。例如,给n输入5,则输出120.000000。请改正程序中的错误,使程序能输出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#includedoublefun(intn){doubleresult=1.0;/************Cund************/ifn==0return1.0;while(n>!&&n<170)/************Cund************/result*=n—returnresult;)main(){intn;prinlfC'InputN:");scanf("%d",&n);printf("

653

654%d!=%lf

655

656",n,fun(n));160、给定程序MODIl.C中函数fun的功能是:将长整型数中每位上为奇数的数依次取出,构成•个新数放在t中。高位仍在高位,低位仍在低位。例如,当s中的数为:87653142时,t中的数为:7531.请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!/includevoidftin(longs,long*t){intd;longsl=l;/************found************/t=0;while(s>0){d=s%10;/****4>*******fOU|^|************/if(d%2=0)(*t=d*si+*t;si♦=10;}s/=10;1Imain(){longs,t;printf(AnPleaseenters:**);scanf("%ld",&s);fun(s,&();printfC'Theresultis:%ld

657",t);

658I61、给定程序MODI1.C中函数fun的功能是:求出两个非零1E整数的最大公约数,并作为函数值返回。例如,若给numl和num2分别输入49和21,则输出的最大公约数为7:若给numl和num2分别输入27和81,则输出的最大公约数为27。请改正程序中的错误,使它能得出正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。/includeintfun(inta.intb){inir,t;if(a

659

660".numI,num2);a=fun(numl,num2);printfC'Themaximuncommondivisoris%d

661

662",a);)62、给定程序MODILC中函数fun的功能是:将tl所指字符串中的小写字母都改为对应的大写字母,其它字符不变。例如,若输入"Ab.cD",则输出"AB.CD"。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!朴**新视野教育内部资料版权所有翻印必究WWW.EOL360.COM****#include#includechar*fun(chartt[])[inti;for(i=0;tt[i];i++)if(('a><=tt[i])IKtt[i]<='z'))/**********fou泡***********/tt[i]+=32;return(tt);)main()]chartt[81];printf('AnPleaseenterastring:");gets(tt);printf(,r

663Theresultstringis:

664%s'\fun(tt));63、给定程序MODI1.C中函数fun的功能是:从低位开始取出长整型变量s中奇数位上的数,依次构成•个新数放在t中。高位仍在高位,低位仍在低位。例如,当s中的数为:7654321时,t中的数为:7531.请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#include/************found************/voidfun(longs,longt){longsl=10;♦t=s%10;while(s>0){s=s/100:*t=s%IO*sl+*(;尸***********found************/si=sl*100;}main(){longs,t;printfCAnPleaseenters:w);scanf("%ld",&s);fun(s,&t);printf(MTheresultis:%ld

665H,t);)64、给定程序MODILC中函数fun的功能是:把主函数中输入的3个数,最大的放在a中,最小的放在c中,中间的放在b中。例如,输入的数为:551234,输出结果应当是:a=55.0,b=34,0,c=12.0o请改正程序中的错误,使它能得出正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。#includevoidfun(float*a.float*b,floal*c)]/**********found**********/float*k;if(*a<*b){k=*a;*a=*b;*b=k;}/**********fourxl**********/if(*a>*c){k=*c;*c=*a;*a=k;}if(*b<*c){k=*b;*b=*c;*c=k;}

666Imain(){floata.b,c;printfC*Inputabc:");scanf(w%f%f%f',&a,&b,&c);prin(f("a=%4.lf,b=%4.1f.c=%4.1f

667

668”,a,b,c);fun(&a,&b,&c);primfC'a=%4.1f,b=%4.1f.c=%4.1An

669,,.a,b.c):}65、给定程序MODI1.C中函数fun的功能是:逐个比较p、q所指两个字符串对应位置中的字符,把ASCII值大或相等的字符依次存放到c所指数组中,形成一个新的字符串。例如,若主函数中a字符串为:aBCDeFgH,主函数中b字符串为:ABcd,则c中的字符串应为:aBcdeFgH»请改正程序中的错误,使它能得出正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。#include#includevoidfun(char*p,char*q,char*c)[/************found************/intk=I;while(*p!=*q){if(*p<*q)c[k]=*q;elsec(kj=*p;if(*p)P++:if(*q)q++:k++;})main(){chara(10]="aBCDeFgH",b[IO]="ABcd",c[80]=(叩;fun(a,b.c);printf("Thestringa:");puts(a);printf("Thestringb:");puts(b);printf("Theresult:");puts(c);166、给定程序MODH.C中函数fun的功能是:求出以下分数序列的前n项之和。和值通过函数值返回到main函数。235813211235813例如,若!1=5,则应输出:8391667»请改正程序中的错误,使它能计算出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!****新视野教育内部资料版权所有翻印必究WWW.EOL360.COM****#includevoidfun(intn){inta,b,c,k;doubles;s=0.0;a=2;b=1;for(k=1;k<=n;k++){s=s+(Double)a/b;c=a;a=a+b;b=c:}returns;}main(){intn=5;printf('AnThevalueoffunctionis:%lAn",fun(n));)67、给定程序MODII.C中函数fun的功能是:通过某种方式实现两个变量值的交换.规定不允许增加语句和表达式。例如变量a中的值原为8,b中的值原为3,程序运行后a中的值为3,b中的值为8。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#includeintfun(int*x,inty)intt;/**************hund**************/return(y);Imain()]inta=3,b=8;printf("%d%d

670M.a.b);b=fun(&a.b);printfC'%d%d

671".a.b):68、给定程序MODII.C中函数fun的功能是:用递归克法计算斐波拉契数列中第n项的值。从第1项起,斐波拉契数列为:1、1、2、3、5、8、13、21、例如,若给n输入7,该项的斐波拉契数值为:13。清改正程序中的错误,使它能得出正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。#includelongfun(intg)[/**********foufk!**********/

672switch(g);{case0:return0;/**********quixi**********/caseI;case2:returnI;)return(fun(g-l)+fun(g-2));}main(){longfib;intn;printf("Inputn:scanf("%dM.&n);printf("n=%d

673".n);fib=fun(n);printf("fib=%d

674

675,\fib);69、给定程序MODH.C中函数fun的功能是:先将s所指字符串中的字符按逆序存放到t所指字符串中,然后把s所指串中的字符按正序连接到t所指串的后面。例如:当s所指的字符串为:"ABCDE”时,则t所指的字符串应为:“EDCBAABCDE"。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#include#includevoidfun(char*s,char*t)/************found************/inti;si=strlen(s);for(i=0;i

676Pleaseenterstrings:0);scanf("%s",s);fun(s,t);printfC'Theresultis:%s

677",t);I70、给定程序M0DI1.C中函数fun的功能是:计算并输出high以内最大的10个素数之和。high的值由主函数传给fun函数。若high的值为:100,则函数的值为:732。请改正程序中的错误,使程序能输出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!****新视野教育内部资料版权所有翻印必究WWW.EOL360.COM****#include#includeintfun(inthigh){inisum=0,n=0,j,yes;/************他und************/while((high>=2)&&(n<10){yes=1;for(j=2;j<=high/2;j++)if(high%j=O){/************他und************/yes=O;break}if(yes){sum+=high;n++;}high--;1returnsum:Imain(){printf(w%d

678M,fun(100));71、给定程序MODIl.C中函数fun的功能是:按以下递归公式求函数值。r10(n=l)fun(n)=HLfun(n-l)+2(n>l)例如,当给n输入5时,函数值为18:当给n输入3时,函数值为14。请改正程序中的错误,使它能得出正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构.#include/************fourxl************/fun(n){intc;/************fou]记************/if(n=l)c=10;elsec=fun(n-l)+2;retum(c);Imain()(intn;prin(f("Entern:");scanf("%d",&n);printfC'Theresult:%d

679

680",fun(n));)72、给定程序MODIl.C中函数fun的功能是:将s所指字符串中最后一次出现的。tl所指字符串相同的子串替换成t2所指字符串,所形成的新串放在w所指的数组中。在此处,要求11和(2所指字符串的长度相同。例如,当s所指字符串中的内容为:"abcdabfabc”,“所指子串中的内容为:”ab",t2所指子串中的内容为:"99"时,结果,在w所指的数组中的内容应为:“abcdabf99c”。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#include#includevoidfun(char*s,char*tl,char*t2,char*w)[char*p,*r,*a=s;strcpy(w,s);/************found************/while(w)

681{p=w;r=(1;while(*r)/************found************/IF(*r==*p){r++;p++;)elsebreak;if(*r=='\0')a=w;w++;1r=t2;while(*r){*a=*r;a++;r++;}}main()Ichars[l00],tl[100Lt2[100Lw[100];printf("

682PleaseenterstringS:");scanf("%s",s);printf("

683Pleaseentersubstringtl:");scanf(w%s",tl);printf("

684P)easeentersubstring(2:*');scanf('r%sM.(2);if(strlen(tl)==strlen(t2))(fun(s,tl.t2,w);prinlf("

685Theresultis:%s

6860,w);}elseprintf("

687Error:strlen(tl)!=str)en(t2)

688N);73、给定程序MODI1.C中函数fun的功能是:统计substr所指子字符串在sir所指字符串中出现的次数。例如,若字符串为aaaslkaaas,子字符串为as,则应输出2。清改正程序中的错误,使它能计算出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!/includeintfun(char*str,char*substr){intij.k,num=0;/************l^und************/for(i=0,str[i],i++)for(j=i,k=0^ubstr[k]==str|jJ;k++j++)/************Cund************/If(substr[k+l]=='\O'){num++;break;Ireiumnum;}main()[charstr[80],substr[80];printf("Inputastring:");gets(str);printf("Inputasubstring:'1);gets(substr);printf("%d

689”,fun(slr.subslr));)74、给定程序MODILC中fun函数的功能是:求s=aa...aa-...-aaa-aa-a(此处aa-aa表示n个a.a和n的值在1至9之间)例如a=3,n=6»则以上表达式为:s=333333-33333-3333-333-33-3其值是:296298a和n是fun函数的形参,表达式的值作为函数值传回main函数。请改正程序中的错误,使它能计算出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!****新视野教育内部资料版权所有翻印必究WWW.EOL360.COM****/includelongfun(inta.intn)(»ntj;/**************hund**************/longs=0,t=1;for(j=0;j

690Pleaseenteraandn:");scanf(*'%d%dM,&a,&n);printf("Thevalueoffunctionis:%ld

691",fun(a,n));75、给定程序MODILC中函数fun的功能是:求出s所指字符串中最后次出现的t所指了字符中的地址,通过函数值返同,在主函数中输出从此地址开始的字符串;若未找到,则函数值为NULL。例如,当字符串中的内容为:"abcdabfabcdx",t中的内容为:"ab"时,输出结果应是:abcdx.当字符串中的内容为:"abcdabfabcdx”,t中的内容为:“abd"时,则程序输出未找到信息:notbefound!-请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#include#includechar*fun(char*s,char*t)[char*p,*r,*a;/************Cund************/a=Null;while(*s){p=s;r=t;while(*r)/************£iQund************/

692if(r=p){r++;p++;}elsebreak;if(*r=='\0')a=s;s++;Ireturna;)main()[chars[lOO].t[IOO],*p;printf("

693PleaseenterstringSscanf("%sM,s);printf("

694Pleaseentersubstringtscanf("%s",t);p=fun(s,t);if(p)printf("

695Theresultis:%s

696",p);elseprintfCAnNolfound!

697");给定程序M0DI1C中函数fun的功能是,计算并输出下列级数的前N项之和Sn.直到Sm大于q为止,q的值通过形参传人.品,*N,♦・・.♦N里"123N76、例如,若q的值为:50.0,则函数值为:49394948。请改正程序中的错误,使程序能输出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改利芋的结构!#includedoublefun(doubleq){intn;doubles,t;s=2.0;while(s<=q){t=s;/************他und************/s=s+(n+1)/n;n++;}printf(,'n=%d

698",n);/************Cund************/returns;}main()]prin(f("%f

699".fun(50));}77、给定程序MODH.C中函数fun的功能是:从整数1到55之间,选出能被3整除、且有一位上的数是5的那些数,并把这些数放在b所指的数组中,这些数的个数作为函数值返回。规定,函数中al放个位数,立放卜位数。请改正程序中的错误,使它能得出正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。#includeintfun(int*b){intk,al,a2,i=0;for(k=10;k<=55;k++){/************£i0und************/a2=k/lO;al=k-a2*10;if((k%3==0&&a2=5)Kk%3==0&&al==5)){b[i]=k;i++;}/************Cund************/returnk;main(){inta[l0()],k,m;m=fun(a);printfC'Theresultis:

700");for(k=0;k#include#deGneN5#defineM81/**********found**********/fun(char(*sq)(MJ){inti;char*sp;sp=sq[O];for(i=0;i

701H,N);for(i=0;i

702TheNstring:

703M,N);for(i=0;i

704Thelongeststring:

705M);puts(longest);}79、给定程序MODII.C中函数fun的功能是:用选择法时数组中的n个元素按从小到大的顺序进行排序。请修改程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行和删行,也不得更改程序的结构!

706#include#defineN20voidfun(inta[].intn)(inti.j,t,p;forg=0j

707°);I80、给定程序MODII.C中函数fun的功能是:利用插入排序法对字符串中的字符按从小到大的顺序进行排序。插入法的基本算法是:先对字符串中的头两个元素进行排序。然后把第三个字符插入到前两个字符中,插入后前三个字符依然有序:再把第四个字符插入到前三个字符中,……o待排序的字符串已在主函数中赋予。请改正程序中的错误,使它能得出正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。#include#include#defineN80voidinsert(char*aa){intij,n;charch;/**********砧und**********/n=strlen[aa];for(i=1;i=0)&&(ch

708M,a);insert(a);printf("Thestringaftersorting:%s

709

710",a);81、给定程序MODI1.C中函数fun的功能是:根据整型形参m,计算如下公式的值。11IIy=1+++++2*23*34*4m*m例如,若m中的值为:5,则应输出:1.463611。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#includedoublefun(intm){doubley=1.0;inti;/**************found**************/for(i=2;i#defineN20intfun(int*a,intn.intx){inip=0,i;a[n]=x;while(x!=a[p])p=p+l;/**********j^Qund**********/if(p=n)return-1;else{for(i=p;i

711M);for(i=0:i

712lnputx((odelete):");scanf("%d",&x);printf("Delete:%d

713,,,x);n=fun(w.n.x):if(n==-l)printfC'***Notbefound!***

714

715");else{printf("Thedataafterdeleted:

716M);for(i=0;i

717

718M);)I83、给定程序MODI1.C中函数fun的功能是:判断•个整数是否是素数,若是返【可1,否则返回0。在main。函数中,若fun返回I输出YES,若fun返回。输出NO!。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数。不得增行或删行,也不得更改程序的结构!#includeintfun(intm){intk=2;while(k<=m&&(m%k))k++/************found************/if(m=k)return1;elsereturn0;)main(){intn;printf("

719Pleaseentern:");scanf("%d",&n);if(fun(n))printf(wYES

720M);elseprintf("NO!

721");84、给定程序MODII.C中函数ftm的功能是:将p所指字符中中的所有字符复制到b中,要求每复制三个字符之后插入•个空格。例如,在调用fun函数之前给a输入字符串:ABCDEFGH1JK,调用函数之后,字符数组b中的内容则为:ABCDEFGHIJKO请改正程序中的错误,使它能得出正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。/includevoidfun(char*p.char*b){inti,k=0;while(*p){i=l;while(i<=3&&*p)

722k++;p++;i++;)if(*p)]/**********Cuf)(]**********/b[k++]="))b[k]=V)';}main()(chara[80].b[80];printf("Enterastring:gets(a);printf("Theoriginalstring:0);puts(a);fun(a,b);printf("

723Thestringafterinsertspace:");puts(b);printf("

724

725*);}85、给定程序MODI1.C中函数fun的功能是:将s所指字符串中出现的与(1所指字符串相同的子串全部替换成t2所指字符串,所形成的新串放在w所指的数组中。在此处,要求U和(2所指字符串的长度相同。例如.当s所指字符串中的内容为:"abcdabfab",tl所指子串中的内容为:"ab",12所指子串中的内容为:“99”时,结果在w所指的数组中的内容应为:"99cd99f99、请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#include#includevoidfun(char*s,char*tl,char*t2,char*w)[char*p,*r,*a;strcpy(w,s);while(*w){p=w;r=tl;while(r)if(»r==*p){r++;p++;}elsebreak;if(*r='O・){a=w;r=t2;while(*r){/************foup|j************/*a=*r;a++;r++)w+=strlen(t2);}elsew++;main()chars[100Ltl(100Lt2[100],w[100];printf("

726PleaseenterstringS:M);scanf("%s",s);printf("

727Pleaseentersubstringtl:*);scanf("%s".tl);printf("

728Pleaseentersubstringt2:");scanf("%s".l2);if(strlen(tl)==strlen(t2)){fun(s,tLt2.w);printfCAnTheresultis:%s

729'\w);1elseprinlf("Error:strlen(tl)!=strlen(t2)

730");86、给定程序MODI1.C中函数fun的功能是:删除p所指字符串中的所有空白字符(包括制表符、回车符及换行符)。输入字符串时用结束输入。请改正程序中的错误,使它能输出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!****新视野教育内部资料版权所有翻印必究WWW.EOL360.COM****#include#include#includefun(char*p){intiJ;charc[80];For(i=O.t=0;p[i];i++)if(!isspace(*(j>+i)))c(t++]=p[i];/************found************/c[U='MF;strcpy(p,c);)main(){charc,s(80];inti=0;printfC'Inputastring:");c=getchar():while(c!=#'){s[i]=c;i++;c=getchar();}s[i]=\O\fun(s);puts(s);87、给定程序MODII.C中函数fun的功能是:计算正整数num的各位上的数字之积。例如,若输入:252,则输出应该是:20。若输入:202,则输出应该是:0。请改1E程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程J节的结构!#includelongfun(longnum){/************found************/longk;do{k*=num%IO;/************Cu**********/num\=10;}while(num);return(k);

731Imain(){longn;scanf("%ld”,&n);printf(M

732Pleaseenteranumber:");primf("\fi^khn,,fun(n));88、给定程序MODII.C中函数fun的功能是:先将在字符串s中的字符按正序存放到t串中,然后把s中的字符按逆序连接到I串的后面。例如:当s中的字符串为:"ABCDE"时,

733贝h中的字符串应为:"ABCDEEDCBA”。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!/include#includevoidfun(char*s,char*t){inti.si;si=strlen(s);/************他und************/for(i=0;i<=sl;i++)t[i]=s[i];for(i=0;i

734",t);89、给定程序MODI1.C中函数fun的功能是:计算S=f(-n)+f(・ii+l)+…+f(O)+f(l)+f⑵+…+f(u)的值。例如.当n为5时,函数值应为:10.407143。f(x)函数定义如下:r(x+l)/(x-2)f(x)=T0Hx-1)/(x-2)请改正程序中的错误,x>0且xW2x=0或x=2x<0使程序能输出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#include#include/************sund************/f(doublex)if(x==0.0IIx=2.0)return0.0;elseif(x<0.0)return(x-l)/(x-2);elsereturn(x+1)/(x-2);)doublefun(intn)|inti;doubles=0.0,y;for(i=-n;i<=n;i++){y=f(1.0*i);s+=y;}/************Cuf)(]************/returnsmain()printfC^An",fun(5));I90、由N个有序整数组成的数列已放在一维数组中,给定程序MODI1.C中函数fun的功能是:利用折半查找算法查找整数m在数组中的位置。若找到,返回其下标值:反之,返回折半杳找的基本算法是:每次查找前先确定数组中待查的范围:k>w和high(lowvhigh),然后把m与中间位置(mid)中元素的值进行比较。如果m的值大于中间位置元素中的值,则下一次的查找范围落在中间位置之后的元素中:反之,下一次的查找范围落在中间位置之前的元素中。直到low>high,查找结束。清改正程序中的错误,使它能得出正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。****新视野教育内部资料版权所有翻印必究WWW.EOL360.COM****#include#defineN10/************命und************/voidfun(inta[],intm){intlow=0,high=N-l,mid;while(low<=high)(mid=(low+high)/2;if(ma[mid])low=mid+l;elseretum(mid):retum(-l);}main(){inti,a[N]=(-3,4,7,9,13,45,67,89,100,180}km;printfC'a数组中的数据如下/);for(i=0;i=0)printf(,,m=%d,index=%d

735,,,m,k);elseprintf("Notbefbund!

736");91、在主函数中从键盘输入若干个数放入数组中,用0结束输入并放在最后•个元素中。给定程序MODILC中函数fiin的功能是:计算数组元素中值为正数的平均值(不包括0)。例如:数组中元素中的值依次为:39,Y7,212SI5O,则程序的运行结果为:19.250000。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#includedoublefun(intx[])[/************found************/intsum=0.0;

737intc=0,i=0;while(x[i]!=0)(if(x[i]>0)(sum+=x[i];C++;)i++;1/************l^und************/sum\=c;returnsum;}main(){intx[IOOOJ;inti=0;printf("

738Pleaseentersomedata(endwith0):");do(scanf("%d”,&x[i]);}while(x[i++]!=0);printf("%f

739",fun(x));92、给定程序MODH.C中函数fun的功能是:从s所指字符串中删除所有小写字母c。请改正程序中的错误,使它能计算出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#includevoidfun(char*s){intij;for(i=j=0;s[i]!=M)';i++)if(s[ij!='c')sUl=s[i];/************found************/s[i]=、()';}main(){chars[80];printf("Enterastring:");gets(s);prin(f("Theoriginalstring:");puts(s);fun(s);printf("Thestringafterdeleted:");puts(s);printf("

740

741");93、给定程序MODI1.C中函数fun的功能是:根据以下公式求n值,并作为函数值返回。例如,给指定精度的变量eps输入0.0005时,应当输出Pi=3.140578。it1121231234—=1+——+-X——++-X—X-X—+23353573579请改正程序中的错误,使它能得出正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。#include#includedoublefun(doubleeps){doubles,t;intn=l;s=0.0;/************Cund************/t=0:while(t>eps)(s+=t;t=t*n/(2*n+l);n++;)/************命und************/retum(s);}main(){doublex;printfCAnPleaseenteraprecision:scanf("%lf',&x);printf(Aneps=%If,Pi=%lAn

742",x,fun(x));94、给定程序MODI1.C中函数fun的功能是:将长整型数中每一位上为偶数的数依次取出,构成一个新数放在I中。高位仍在高位,低位仍在低位。例如,当s中的数为:87653142时,I中的数为:8642。清改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!****新视野教育内部资料版权所有翻印必究WWW.EOL360.COM****#includevoidfun(longs,long*t){inid;longsl=l;♦t=0;while(s>0)(d=s%10;/************Cund************/if(d%2=0){*t=d*sl+*t;si*=10;/************quo(j************/s\=10;main(){longs,t;printfCAnPleaseenters:");scanf("%ld".&s);fun(s,&();prin(f("Theresultis:%ld

743",t);

74495、给定程序MODH.C中函数fun的功能是:输出M行M列整数方阵,然后求两条对角线上元素之和,返回此和数。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#include#defineM5/************Cund************/intfun(intn,intxx[][J){inti,j,sum=0;printf("

745The%dx%dmatrix:

746".M,M);for(is0;i

747*);}for(i=0;i#includefun(intn.int*a){inti.j,p,t;for(j=O;ja[i])/************Cund************/t=i;if(p!=j){t=a(j];a(jj=a(p];alpj=t;)))putarr(intn,int*z){inti;for(i=I;i<=n;i++,z-H-){printf("%4d",*z);if(!(i%10))primf();}printfC^");}main(){intaa[20]=(9,3,0,4,1^,5,6,8,10,7},n=11;printf("

748

749Beforesorting%dnumbers:

750,',n):putarr(n.aa);fun(n.aa);printf("

751Aftersorting%dnumbers:

752",n);putarr(n,aa);)97、给定程序MODH.C中函数fun的功能是:在p所指字符串中找出ASCII码值最大的字符,将其放在第一个位置上:并将该字符前的原字符向后顺序移动。例如,调用fun函数之前给字符串输入:ABCDeFGH,调用后字符串中的内容为:eABCDFGH.请改正程序中的错误,使它能得出正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。#includevoidfun(char*p){charmax,*q;inti=0;max=p[i];while(p[i]!=0){if(maxp){*q=*(q-l);q-;)p[0]=max;)main(){charstr[80);printf("En(erastring:");gets(str);printf("

753Theoriginalstring:");puts(s(r);fun(str);printf(AnThestringaftermoving:M);puts(str);printf("

754

755M);}98、给定程序MODIl.C中函数fun的功能是:将一个由八进制数字字符组成的字符串转换为与其面值相等的卜进制整数。规定输入的字符串最多只能包含5位八进制数字字符。例如,若输入:77777,则输出将是:32767。请改正程序中的错误,使它能得出正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。****新视野教育内部资料版权所有翻印必究WWW.EOL360.COM****#includeintftin(char*p){intn;/**********found**********/n=*P-'o';P++;while(*p!=0){/**********Cu(xj**********/n=n*8+*P-'o':p++;}returnn;}main()(chars[6];inti;intn;

756printf("Enterastring(Ocataldigits):");gets(s);if(strlen(s)>5)(printf("Error:Stringtoolonger!

757

758");exit(O);}for(i=0;s[i];i++)if(s[i]<,O,fc(i]>,7,){printf("Error:%cnotisocataldigits!

759

760",s[i]);exit(O);}printf("Theoriginalstring:");puts(s);n=fun(s);printf(',

761%sisconveredtointegernumber:%d

762

763",s,n);)99、给定程序MODII.C中函数fun的功能是:按顺序给s所指数组中的元素赋予从2开始的偶数,然后再按顺序时每五个元素求•个平均值,并将这些值依次存放在w所指的数组中。若s所指数组中元素的个数不是5的倍数,多余部分忽略不计。例如,s所指数组有14个元素,则只对前10个元素进行处理,不对最后的4个元素求平均值。请改正程序中的错误,使它能得出正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。#include#defineSIZE20fun(double*s,double*w){intkJ;doublesum;fbr(k=2,i=0;i

764M);for(i=0;i

765

766Theresult:

767H);for(i=0;i/************found************/fun(intx,y,z){intj.t,n.m;j=l;t=j%x;m=j%y:n=j%z;while(t!=Ollm!=0lln!=0)(j=j+l;t=j%x;m=j%y;n=j%z;/***********Hound************/returni;main(){intxl,x2,x3J;printfC'Inputxlx2x3:");scanf(M%d%d%dM,&xl,&x2,&x3);printf("xl=%d,x2=%d,x3=%d

768M,xl,x2,x3):j=fun(xl,x2.x3);printf("Theminimalcommonmultipleis:%d

769'\j);三、程序编写题1、请编写函数fun,函数的功能是:移动字符串中的内容,移动的规则如下:把第1到第m个字符,平移到字符串的最后,把第m+1到最后的字符移到字符串的前部。例如.字符串中原有的内容为:ABCDEFGHUK,m的值为3,则移动后,字符串中的内容应该是:DEFGHUKABC。注意:部分源程序在文件PR0G1.C中。请勿改动主函数main和其它函数中的任何内容,仅在函数fiin的花括号中填入你编写的若干语句。#include#include#defineN80voidfiin(char*w,intm)Imain(){chara(N]="ABCDEFGHUKM;intm;printf("Thcoriginalstring:

770"):puts(a);printf("

771

772Enterm:");scanf("%d".&m);fiin(a,m);printf("

773Thestringaftermoving:

774N);puts(a);primfCMXn");)2、学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把指定分数范围内的学生数据放在b所指的数组中,分数范围内的学生人数由函数值返回。例如.输入的分数是6069,则应当把分数在60到69的学生数据进行输出,包含60分和69分的学生数据.主函数中将把60放在low中,把69放在heigh中。注意:部分源程序在文件PROGI.C文件中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include#defineN16typedefstruct{charnum[10];ints;}STREC:intfun(STREC*a.STREC*b.int1,in(h)

775}main(){STRECs[N]={{"GA005,,.85},{"GA003',,76},{"GA002".69}4"GA004",85),{"GA001*96},{"GA007H,72),{HGA008",64},{"GA006",87),{"GAO15",85},{GAO13M,94},{'GA012",64hfGAOl4",91),("GAOll';90},{"GA017",64),("GA018',64),(MGA016*72});STRECh[N],tt;FILE*out;intijtnjow,heigh,t;printf("Enter2integernumberlow&heigh:");scanfC'%d%d",&low,&heigh);if(heigh

776"Jow,heigh);for(i=0:i

777".h[i].num.h[i].s);printf("

778");out=fopen("c:\\tes(\\out.dat","w");n=fun(s.h.80,98);fprin(f(out,"%d

779".n);fdr(i=O;ih[j].s)(tt=h[i]Mi]=h[j];h[j]=tt;)fbr(i=O;i

780",h[i].s);fprintffout/An");fclose(out);I3、已知学生的记录由学号和学习成绩构成,N名学生的数据已存入a结构体数组中。请编写函数ftin,函数的功能是:找出成绩最低的学生记录,通过形参返回主函数(规定只有一个最低分)。注意:部分源程序存在文件PR0G1.C文件中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include#include#defineN10typedefstructss{charnum[10];ints;}STU;fun(STUa[],STU*s)main(){STUa[N]={("AOI",81},{,,A02",89},{,'A03",66},{"A04",87},{"A05';77},{,'A06",90},{"A07"<79},{,'A08",6l},{"A09,,,80},{"A10,;71)),m;inti;printfC******Theoriginaldata*****

781");for(i=0;i

782r,,a[i).num,a[i).s);fun(a,&m);printf(*'*♦♦**THERESULTprintf("Thelowest:%s,%d

783M,m.num,m.s);I4、请编写一个函数ftin,其功能是:将ss所指字符串中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换)。例如,若输入"abc4EFg",则应输出“aBc4EFg"。注意:部分源程序在文件PROG1.C文件中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include#includevoidfun(char*ss)I)voidmain(void)Ichartt[51];printf("

784Pleaseenterancharacterstringwithin50characters:

785");gets(it);printft"

786

787Afterchanging,thestring

788\"%s\M",tt);fun(Ct);prin(f("

789becomes

790It);}5、请编一个函数fUn,函数的功能是使实型数保印2位小数,并对第三位进行四舍五入(规定实型数为正数例如:实型数为1234567,则函数返回123457:实型数为1234564,则函数返回123456。注意:部分源程序存在文件PROGLC文件中。请勿改动主函数main和共它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。/includefloatfun(floath)}main(){floata;printf("Entera:H);scanf(M%f\&a);printf("Theoriginaldatais:");printf("%f

791

792",a);printf("Theresult:%f

793",fun(a));}6、请编写个函数ftin,它的功能是:根据以下公式求兀的值(要求满足精度0.0005,即某项小于0.0005时停止迭代):n*21x2x31x2x3x4lx2x...xn—=1+―+++++233x53x5x73x5x7x93x5x...x(2n+l)程序运行后,如果输入精度0.0005,则程序输出为3.14…。注意:部分源程序存在文件PROGLC文件中。请勿改动主函数main和其它函数中的任何内容,仅在函数ftin的花括号中填入你编写的若干语句。#include#include

794doublefun(doubleeps)main(){doublex;printf("Inputeps:");scanfC*%IF,&x);printf("

795eps=%lf,PI=%lAn",x,fun(x));17、m个人的成绩存放在scom数组中,请编写函数ftin,它的功能是:将低于•平均分的人数作为函数值返回,将低于•平均分的分数放在below所指的数组中。例如,当score数组中的数据为:10、20、30、40、50、60、70、80、90时,函数返回的人数应该是4.below中的数据应为:10、20、30、40。注意:部分源程序在文件PROGLC文件中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include#includeintfun(intscore]],intm,intbelow(])Imain(){inti,n,below[9];intscore[9]=(10,20,30,40,50,60,70,80,90);n=fun(score,9,below);prints"

796Belowtheaveragescoreare:");for(i=0;ivoidfun(char*a)I)main()(chars[81];printf("Enterastring:

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

798'*);puts(s);I9、假定输入的字符串中只包含字母和*号。请编写函数ftin,它的功能是:将字符串中的前导*号全部移到字符串的尾部。例如,字符串中的内容为:♦******A*BC*DEF*G****,移动后,字符串中的内容应当是:A*BC*DEF*G***********.在编写函数时,不得使用C语言提供的字符串函数。注意:部分源程序在文件PROG1.C文件中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。/includevoidfun(char*a)main()(chars[81],*p;intn=0;printf("Enterastring:

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

800");puts(s);)10、假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:使字符中的前导*号不得多于n个;若多于n个,则删除多余的*号;若少于或等于n个,则什么也不做,字符串中间和尾部的*号不删除。例如,字符串中的内容为:*******A*BC*DEF*G****,若n的值为4,删除后,字符串中的内容应当是:****A*BC*DEF*G****:若n的值为8,则字符串中的内容仍为:♦♦♦♦♦**A*BC*DEF*G****on的值在主函数中输入。在编写函数时,不得使用C语言提供的字符串函数。注意:部分源程序在文件PROG1.C文件中。请勿改动主函数main和其它函数中的任何内容,仅在函数ftin的花括号中填入你编写的若干语句。/includevoidfun(char*a,inin)]}main(){chars[81];intn;printf("Enterastring:

801");gets(s);printf("Entern:")^canf(',%d".&n);fiin(s.n);printfC'Thestringafterdeleted:

802");puts(s);III、请编写函数ftin,它的功能是:求出能整除形参x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返眄1。例如,若x中的值为:35,则有4个数符合要求,它们是:1,5,7,35。注意:部分源程序在文件PROG1.C文件中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#includevoidfun(intx,intpp[],int*n)main(){intx,aa[l000],n,i;printf("

803Pleaseenteranintegernumber:

804");scanf("%d",&x);fun(x,aa,&n);fdr(i=0;i#includevoidfun(char*s.chart[]))

805main()(chars[100],t[100];printf("

806PleaseenterstringS:M);scanf("%sM,s);fun(s,t);printf("

807Theresultis:%s

808",t);13,函数ftin的功能是:将a、b中的两个两位正整数合并形成•个新的整数放在c中。合并的方式是:将a中的十位和个位数依次放在变量c的百位和个位上,b中的十位和个位数依次放在变量c的十位和千位上。例如,当a=45,b=l2,调用该函数后,c=24I5o注意:部分源程序存在文件PROGLC中。数据文件IN.DAT中的数据不得修改。请勿改动主函数main和其它函数中的任何内容,仅在函数ftm的花括号中填入你编写的若干语句。#includevoidfun(inta.inib,long*c)main(){inta,b;longc;printf("Inputa,b:");scanf("%d%d",&a,&b);firn(汰b,&c);printfC'Theresultis:%ld

809M,c);14、编写函数ftin,它的功能是:求小于形参n同时能被3与7整除的所有自然数之和的平方根,并作为函数值返回。例如若n为1000时,程序输出应为:s=153.909064。注意:部分源程序在文件PROGLC文件中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include#includedoublefun(intn))main()/♦主函数*/IprintfC's=%f

810".fun(1000));15、请编写函数fun,函数的功能是:将M行N列的二维数组中的数据,按行的顺序依次放到•维数组中,・维数组中数据的个数存放在形参n所指的存储单元中。例如,二维数组中的数据为:333333334444444455555555则•维数组中的内容应是:333333334444444455555555。注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其它函数中的任何内容.仅在函数fun的花括号中填入你编写的若干语句。#includevoidfun(int(*s)[10],int*b,int*n.intmm,intnn)main(){intw[10][10]=({3333,3333},{44,44,44.44),{55,55,55,55}},ij;inta[lOO]={O},n=O;printfC'ThematrixAn");for(i=0;i<3;i++){for(j=0;j<4;j++)p「intf("%3d”,w[i]UD;printf("\iT);}fun(w,a,&n,3,4);printfC'TheAarray:

811H);for(i=0;i

812

813");16、学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数ftin,它的功能是:按分数的高低排列学生的记录,高分在前。注意:部分源程序在文件PROG1.C文件中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include#deGneN16typedefstruct(charnum(10];ints;}STREC;intfun(STRECa[])Imain(){STRECslNj={{,'GA005",85},{,,GA003,;76}4,,GA002,1,69},{"GA004,,,85).{"GAOO1”.91}・{"GA007172},{"GA008”,64},{“GA006:87},{"GAO15M.85}.{"GAO13",911,{"GAO12".64}.{"GAO14",911,{"GAOir.66},{"GAOI7".64).("GAO18”,64},{"GAO16';72}}:intiJ^ILE*out;fun(s);prin(f("Thedataaftersorted:

814");for(i=0;i

815H);printf(H%s%4d",s[i].num,s[i].s);)printf("

816");out=fopen("c:\\test\\out.dat",,'w");for(i=0;i

817*');fprintf(out,"%4d'\s[i].s);)

818fprinlfgut,、"):fclose(out);17、程序定义了NXN的二维数组,并在主函数中赋值。请编写函数ftm,函数的功能是:求出数组周边元素的平均值并作为函数值返给主函数中的s。例如:a数组中的值为10I2791II9745112383II145682115914II则返回主程序后s的值应为:3.375。注意:部分源程序存在文件PROG1.C文件中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include#include#defineN5doublefun(intw[][N])Imain(){inta[N][N]=[0,1,2,7,9,1,9,74597,85,1,4568,256,1,4,1};intij;doubles;printf(*******Thearray*****

819");for(i=0;i

820*',s);18、请编写函数ftin,其功能是求出数组的最大元素在数组中的下标并存放在k所指的存储单元中。例如,输入如卜整数:876675896101301401980431451777则输出结果为:6,980注意:部分源程序在文件PROGI.C文件中。请勿改动主函数main和其它函数中的任何内容,仅在函数ftin的花括号中填入你编写的若干语句。#includeintfun(int*s,intt,int*k)main()Iinta[l0]={876,675,896,101,301,401,980,431,451,777),k;fun(a,10,&k);printfC,%d,%d

821",k.a[k]);19、假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:将字符串尾部的*号全部删除,前面和中间的*号不删除。例如,字符串中的内容为:****A*BC*DEF*G*******,删除后,字符串中的内容应当是:****A*BC*DEF*G。在编写函数时,不得使用C语言提供的字符串函数。注意:部分源程序在文件PROG1.C文件中。请勿改动主函数main和其它函数中的任何内容,仅在函数ftin的花括号中填入你编写的若干语句。#include#includevoidfun(char*a)main(){chars[8l];printf("Enterasiring:

822"):gets(s);fun(s);prinlfC'Thestringafterdeleted:

823"):puts(s);20、编写函数tun.函数的功能是求出小于或等于lim的所彳f素数并放在aa数组中,函数返回所求出的素数的个数。注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include#defineMAX100intfun(intlim,intaa[MAX])main()intlimit,i,sum;intaa[MAX];primf("输入一个整数7scanf("%d",sum=fun(limit.aa);for(i=0;ivoidfun(intm,intk,intxx[))[]main()]intm.n,zzflOOO];printf("

824Pleaseentertwointegers:");scanf("%&%d".&m.&n);fun(m,n,zz);for(m=0;m

825");

82622、N名学生的成绩已在主函数中放入•个带头节点的链表结构中,h指向链表的头节点。请编写函数ftin,它的功能是:找出学生的最高分,由函数值返回。注意:部分源程序在文件PROG1.C文件中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include#inc)ude#defineN8structslist(doubles;structslist*nex(;};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:1p->next=O;returnh;Ioutlist(STREC*h){STREC*p;p=h->next:printf("headN);do{printK"->%2.or,p->s)p=p->next;|while(p!=O);prinlfCAnH');}main()(doubles[Nl={85,76,69,85,91,72.64,87),max;STREC*h;h=creat(s);out)ist(h);max=fun(h);prinlf("max=%6.1f

827,,,max);I23、学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把高于等于平均分的学生数据放在b所指的数组中,高于等于平均分的学生人数通过形参n传何,平均分通过函数值返回。注意:部分源程序在文件PROG1.C文件中。请勿改动主函数main和其它函数中的任何内容,仅在函数ftm的花括号中填入你编写的若干语句。#include#defineN12typedefstruct{charnum[10];doubles;}STREC;doublefun(STREC*a.STREC*b,int*n)main(){STRECs|N]={{MGA05".85},{MGA03",76},{,,GA02",69},{"GA04",85},{"GA0r;91),{nGA07”,72},{,,GA08,,,64},{“GA06”,87},{,,GA09,1,60}.{"GAir',79},{"GAI2,,,73)4"GAI0',,90)):STRECh[N],ILE*out;intij,n;doubleave;ave=fun(s.h.&n);printfC'The%dstudentdatawhichishigherthan%7.3f:

828",n,ave);fdr(i=O;i

829",h(iJ.num,hli].s);printf(AnM);out=fopen("c:\\tes(\\out.dat',,,,w");fprintf(out,"%d

830%73f

831",n,ave);for(i=Ou

832for(i=0;i

833",h[i].s);fc)ose(out);24、请编写函数fun,函数的功能是求出二维数组周边元素之和,作为函数值返回。二维数组中的值在主函数中赋予。例如:二维数组中的值为6999135780则函数值为61。注意:部分源程序存在文件PROGI.C文件中。请勿改动主函数main和其它函数中的任何内容,仅在函数ftm的花括号中填入你编写的若干语句。#include#defineM4#defineN5intfun(inta[M|[N|)main(){intaa[M][N]={{13,5,7,9},(2,9,9,9,4),(699,9,8),(1357,0});intij,y;clrscr();printf("Theoriginaldatais:

834");for(i=0;iJ[jJ);printf('An");)y=fun(aa);printf(M

835Thesum:%d

836",y);primfCAn");25、函数firn的功能是:将s所指字符串中除了下标为奇数、同时ASCH值也为奇数的字符之外,我余的所有字符都删除,串中剩余字符所形成的一个新串放在I所指的数组中。例如,若s所指字符串中的内容为:"ABCDEFG12345",其中字符A的ASCII码值虽为奇数,但所在元素的下标为偶数,因此必需删除:而字符1的ASCII码值为奇数,所在数组中的下标也为奇数,因此不应当删除,其它依此类推。最后t所指的数组中的内容应是:”135“。注意:部分源程序存在文件PROG1.C中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include#includevoidfun(char*s,chart[])main()]chars(IOO],t[lOO];printf("

837PleaseenterstringS:");scanfC'%s",s);fun(s,t);printf("

838Theresultis:%s

839",t);26、编写一个函数,从num个字符串中找出最长的一个字符串,并通过形参指针max传回该串地址。(注意:主函数中用*科*作为结束输入的标志)注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include#includefun(char(*a)[81]Jntnum,char**max)main()[charss[IO]l8l],*ps;intn,i=0;primf("输入若干个字符串:");ge(s(ss[i]);puts(ss[i]);while(!s(rcmp(ss[i].n****")==O)i++;gets(ss[i]);puts(ss[i]);}n=i;fun(ss,n,&ps);printf("

840max=%s

841",ps);}27、请编写函数fun.函数的功能是:判断字符串是否为回文?若是,函数返回1,主函数中输出:YES.否则返回0.主函数中输出NO。回文是指顺读和倒读都一样的字符串。例如.字符小LEVEL是向文,而字符中123312就不是|可文。注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include#defineN80inifun(char*str)])main(){chars[N]:printf("Enterastring:");gets(s);printf("

842

843M);puts(s);if(fun(s))printf("YES

844");elseprintf("NO

845M);I28、清编'号函数fiin,函数的功能是:删去一维数组中所有相同的数,使之只剩•个。数组中的数已按由小到大的顺序排列,函数返卜>1删除后数组中数据的个数.例如,-维数组中的数据是:2223445666677899101010。删除后,数组中的内容应该是:2345678910。注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其它函数中的任何内容,仅在函数ftin的花括号中填入你编号的若干语句。#include#defineN80intfun(inta[],inin)

846}main(){inta[N]={2t2,2,3,4,4t5,6,6,6,6,7,7,8,9,9,10,10,10,10},i,n=20;prinlfC'Theoriginaldata:

847M);for(i=0;i

848Thedataafterdeleted:

849M);for(i=0;i/includevoidfun(in(a[],intn,int*max.int*d)]}main(){in(i,x[20],max,index,n=10;randomize();for(i=0;i

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

851",max,index);)30、请编写函数fun,函数的功能是:统计•行字符串中单词的个数.作为函数值返回。•行字符申在主函数中输入,规定所有单词由小写字母组成,单词之间由若干个空格隔开,•行的开始没有空格。注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其它函数中的任何内容.仅在函数fun的花括号中填入你编写的若干语句。#include#include#defineN80intfun(char*s)}main(){charline[N]:intnum=O;printf("Enterastring:

852");gets(line);num=fun(line);printf(MThenumberofwordis:%d

853

854".num);)31、程序定义了NXN的二维数组,并在主函数中自动赋值。请编写函数fun,函数的功能是:使数组右上三角元素中的值乘以m。例如:若m的值为2,a数组中的值为II9711218141a=12381则返回主程序后a数组中的值应为12616114561145121注意:部分源程序存在文件PROGI.C文件中o请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include#include#deGneN5intfun(intintm)main(){inta[N][N],m,i,j;printfC******Thearrayfor(i=0:ivN;i++){for(j=0;j

855n);|dom=rand(>%10:while(m>=3);primfC'm=%4d

856,\m):fun(a.m);printfC'THERESUETVn");for(i=0;i#defineM3#defineN4voidfun(char(*s)[NJ.char*b))

857main(){chara[100],w[MHN]={);intij;printfC'Thematrix:

858");for(i=0;i

859M);}fun(w.a);printfC'TheAstring:

860"):puts(a);printf("

861

862M);I33、学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把分数最低的学生数据放在b所指的数组中,注意:分数最低的学生可能不止一个,函数返回分数最低的学生的人数。注意:部分源程序在文件PROGI.C文件中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。/include#defineN16typedefstruct{charnum[10];ints;}STREC;intfun(STREC*a,STREC*b))main(){STRECslN]={{,,GA05'1.85}4,,GA03,,,76},("GA02',,69)4',GA()4".85),{"GAO1",91},{"GA07',,72)4MGA08",64},{,,GAO6';87}.{"GAO15",85M-GAO13",91},{"GAO12"<64},{"GAOI4".9I).{"GA011"<91},{"GA017".64}.{"GA018*64},{"GA016H,72});STRECh[N];inti.n;FILE*out:n=fun(s,h);printfC'The%dlowestscore:

863M,n);fbr(i=O;i

864,',h[il.num.h[i].s);printf("

865");out=fopen("c:\Mesi\\ou〔.da「"w");fprintf(out."%d

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

867",h[i].s);fclose(out);I34、编写函数ftin,它的功能是计算卜.列级数和,和值由函数值返Pk23«+—+—♦+--2131川例如,当n=10.x=0.3时,函数值为1349859。注意:部分源程序在文件PROG1.C文件中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include#includedoublefun(doublex,intn)]}mainf)Iprintf("%f

868”,fun(0.3,10));35、函数fun的功能是:将s所指字符串中ASCH值为奇数的字符删除,串中剩余字符形成一个新串放在t所指的数组中。例如,若s所指字符串中的内容为:"ABCDEFG12345",其中字符A的ASCH码值为奇数、…、字符I的ASCH码值也为布数、…都应当删除,其它依此类推。最后I所指的数组中的内容应是:"BDF24"。注意:部分源程序存在文件PROG1.C中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。/include#includevoidfun(char*s.chart[])main()[chars[100],t[100J;printf("

869PleaseenterstringS:");scanf("%sM,s);fun(s,t);printf('AnTheresultis:%s

870",t);36、请编写一个函数fun,它的功能是:求出一个2XM整型二维数组中最大元素的值.并将此值返回调用函数。注意:部分源程序存在文件PROGI.C文件中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。/include#deHneM4fun(inta(][M])}main(){intarr[2](M|={5,8,3,45,76,-4,12,82);prinlf("max=%d

871",fun(arr));}37、请编写•个函数fun,它的功能是:将一个数字字符串转换为个整数(不得调用C语言提供的将字符串转换为整数的函数)。例如,若输入字符串"-1234”,则函数把它转换为整数值-1234。注意:部分源程序存在文件PROGI.C文件中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include#includelongfun(char*p)I)main()/*主函数*/{chars[6];longn;printf("Enterastring:

872");gels(s);

873n=fun(s);printf("%ld

874",n);)38、函数firn的功能是:将a、b中的两个两位正整数合并形成一个新的整数放在c中。合并的方式是:将a中的十位和个位数依次放在变量c的百位和个位上,b中的十位和个位数依次放在变量c的千位和十位上.例如,当a=45,b=12»调用该函数后,c=1425»注意:部分源程序存在文件PROGI.C中。数据文件IN.DAT中的数据不得修改。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#includevoidfun(inta,intb,long*c)main()/♦主函数*/{inta.b:longe;printf("Inputa,b:");scanf("%d%d".&a.&b);fun(a,b,&c);printf("Theresultis:%ld

875",c);39、请编写一个函数,函数的功能是删除字符串中的所有空格。例如.主函数中愉入"asdafaaz67",则输出为',asdafaaz67"o注意:部分源程序在文件PROGI.C中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include#includeintfun(char*str)main()|charstr[81]:intn;printf("Inputastring:");gets(str);puts(s(r);fun(str);printf("***str:%s

876",str);140、编写•个函数fun.它的功能是:实现两个字符串的连接(不使用库函数strcat),即把p2所指的字符中连接到pl所指的字符中后。例如,分别输入下面两个字符串:FirstString—SecondString程序输出:FirstString-SecondString注意:部分源程序在文件PROGI.C文件中。请勿改动主函数main和其它函数中的任何内容,仅在函数ftin的花括号中填入你编写的若干语句。#includevoidfun(charpl[],charp2[J)main(){charsi[80],s2[40];printf("Entersiands2:

877");scanf(M%s%sM,si,s2);printf("sI=%s

878M,si);printf("s2=%s

879M,s2);printfC'Invokefun(sl,s2):

880");fun(sl,s2);printf("Afterinvoking:

881");printf("%s

882",sl);41、编写程序,实现矩阵(3行3列)的转置(即行列互换)例如.输入下面的矩阵:100200300400500600700800900程序输出:100400700200500800300600900注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#includeintfun(intarray[3][3])IImain()]intij;intarray(3][3]=({100200.300}.{400,500,600},(700,800,900}};for(i=0;i<3;i-H-){for(j=0j<3j++)printf(,,%7d,,.arrayfi](jl);printf(',

883M);)fun(array);printf("Convertedarray:

884");for(i=0u<3;i++){for(j=0j<3j++)printf(,,%7d',,aiTay[i](j]);printf(,,

885M);

88642、请编写函数ftin,函数的功能是:移动一维数组中的内容;若数组中有n个整数,要求把卜,标从。到p(含p,p小于等于n-1)的数组元素平移到数组的最后。例如,一维数组中的原始内容为:l,234,5.6,7,8.9」0;p的值为3。移动后,一维数组中的内容应为:5.6.7.8.9,10,1234。注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其它函数中的任何内容,仅在函数fiin的花括号中填入你编写的若干语句。#include#defineN80voidfun(inl*w,inip.inin)])main(){inta[N]={1,2,3,4^,6,7,8,9,10,11,12,13,14,15);inti,ptn=15;printfC^Theoriginaldata:

887");for(i=0;i

888Thedataaftermoving:

889"):for(i=0;i#deGneM3#defineN20voidfun(chara|M|[N],char*b))main(){charwlMnNX'AAAAVBBBBBBB'/'CC"),allOO];inti;prin(f("Thestring"");for(i=0:i

890");fun(w,a);prinlfC'TheAstring:

891");prinlf("%s",a);printf('An

892");44、函数ftin的功能是:将a、b中的两个两位正整数合并形成一个新的整数放在c中。合并的方式是:将a中的十位和个位数依次放在变量c的十位和千位上,b中的卜位和个位数依次放在变量c的个位和百位上。例如,当a=45,b=120调用该函数后,c=5241.注意:部分源程序存在文件PROG1.C中。数据文件IN.DAT中的数据不得修改。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#includevoidfun(inta,intb,long*c)main(){inta.b;longc;printf("Inputa,b:M);scanf(,,%d%d".&a.&b);fun(a.b,&c):prinlfC'Theresultis:%ld

893",c);45、假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:只删除字符串前导和尾部的*号,串中字母之间的*号都不删除。形参n给出了字符串的长度,形参h给出了字符串中前导*号的个数,形参e给出了字符串中最后*号的个数。在编写函数时,不得使用C语;;提供的字符串函数。例如,字符串中的内容为:****A*BC*DEF*G*******,删除后,字符串中的内容应当是:A*BC*DEF*GO注意:部分源程序在文件PROG1.C文件中。请勿改动主函数main和其它函数中的任何内容,仅在函数ftin的花括号中填入你编写的若干语句。#includevoidfun(char*a,intn,inth,inte)main(){chars[8l],*t,*f;intm=0.tn=O.fn=O;printf("Enterastring:\iT);gels(s);t=f=s;while(*t){t++un++;)t-;while(*【='*'){l-;in++;}while(*f==,*,)(f-H-:fn++;}fun(s,m.fn,tn);printfC'Thestringafterdeleted:

894w)^xits(s);46、函数ftin的功能是:将a、b中的两个两位正整数合并形成一个新的整数放在c中。合并的方式是:将a中的十位和个位数依次放在变量c的千位和十位上,b中的十位和个位数依次放在变量c的个位和百位上。例如,当a=45,b=12.调用该函数后,c=425L注意:部分源程序存在文件PROG1.C中。数据文件IN.DAT中的数据不得修改。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#includevoidfun(inta,intb,long*c)[Imain(){inta.b;longc;

895printf("Inpu(a,b:");scanf(,'%d%d,',&a,&b);fun(a,b,&c):printfC'Theresultis:%ld

896",c);47、请编”函数fun,函数的功能是:统计各年龄段的人数。N个年龄通过调用随机函数获得,并放在主函数的age数组中;要求函数把0至9岁年龄段的人数放在d⑼中,把10至19岁年龄段的人数放在d[l]中,把20至29岁年龄段的人数放在d[2]中,其余依此类推.把100岁(含100似上年龄的人数都放在d[10]中。结果在主函数中输出。注意:部分源程序在文件PROGLC中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若「语句。#include#defineN50#detlneM11voidfiin(int*a,int*b)doublernd()(statict=29,c=217,m=1024.r=0;r=(r*t+c)%m;return((double)r/in);)main()(intage[N],i,d[M];for(i=0;i

897M);for(i=0;i

898":,'%4d",age[i]);printf("

899

900M);fun(age,d);for(i=0;i<10;i++)printf("%4d—%4d:%4d

901M,i*10,i*10+9,d(i]);printf("Over100:%4d

902",d[10]);48、编写函数fiin,它的功能是:计算并输出下列级数和:1I1S=++,,,+1x22x3n(n+l)例如,当n=IO时,函数值为:0.909091o注意:部分源程序在文件PROG1.C文件中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#includedoublefun(inin)I}main()/♦主函数*/]printf(M%f

903",fun(10));49、编写函数ftin,其功能是:根据以下公式求P的值,结果由函数值带回.m与n为两个正整数且要求m>n.m!P=n!(m-n)!例如:m=12,n=8时,运行结果为495.000000。注意:部分源程序在文件PROG1.C文件中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。/includefloatfun(intm,intn)main()/*主函数♦/(printf(,,P=%An,\fun(12,8));50、请编写函数ftin,函数的功能是:符M行N列的二维数组中的数据,按列的顺序依次放到•维数组中。例如,二维数组中的数据为:333333334444444455555555则维数组中的内容应是:3344553344553344553344550注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其它函数中的任何内容,仅在函数fiin的花括号中填入你编写的若干语句。#includevoidfun(int(*s)[10],int*b,int*n.immm.intnn)}main(){intwn0][10]=({33,333333},(44,44,44,44),{55^5,55,55)hij;inta[IOO]={O},n=O;printfC'Thematrix:

904M);for(i=0;i<3;i++)(fbr(j=O0<4;j++)printf(',%3d,,,w[i][j]);printf("

905*);)fun(w,a,&n,3,4);printfC'TheAarrayAn");for(i=0;i

906

907");}51、学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中.请编写函数firn,它的功能是:把高于等了平均分的学生数据放在b所指的数组中,高于等于平均分的学生人数通过形参n传回,平均分通过函数值返回。注意:部分源程序在文件PROG1.C文件中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include#defineN12typedefstruct{charnum(10];doubles;}STREC;doublefun(STREC*a,STREC*b,int*n))main(){STRECs|N]={{"GA05,,,85|,{,,GA03,,,76}4,'GA02',,69},{,,GA()4",85),{"GAOI".91},{"GA07”.72}.{“GA08”,64}J,,GA06,,.87},{"GAO9".6O|,{"GAIIM,79l.r'GAl2';73}.{"GAIO';9O}|;STRECh[N],t;FILE*out;intij,n;doubleave;ave=fun(s.h.&n);prin(f("The%dstudentdatawhichishigherthan%7.3f:

908,',n,ave);for(i=0;i

909",h[i].num.h[i].s);

910printf("

911M);out=fopen("c:\\test\\out.dat;fprintf(out."%d

912%73f

913'

914.ave);for(i=0;i

915",h[i].s);fclose(out);I52、函数firn的功能是:将s所指字符串中除了下标为奇数、同时ASCH值也为奇数的字符之外,其余的所有字符都删除,串中剩余字符所形成的一个新串放在t所指的数组中。例如,若s所指字符串中的内容为:"ABCDEFGI2345”,其中字符A的ASCH码值虽为奇数,但所在元素的卜'标为偶数,因此必需删除:而字符1的ASCH码值为奇数,所在数组中的下标也为奇数,因此不应当删除,其它依此类推。最后I所指的数组中的内容应是:"135”。注意:部分源程序存在文件PROG1.C中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include#includevoidfun(char*s,chart[])I)main()[chars[100],t[100];voidprintf("

916PlcaseenterstringS:");scanf("%s",s);fun(s,t);printf(M

917Theresultis:%s

918'\t);I53、请编写函数ftin,它的功能是:求出ss所指字符串中指定字符的个数,并返回此值。例如,若输入字符串:123412132.输入字符为:I.则输出:3。注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include#include#defineM81intfun(char*ss,charc)]Imain(){chara[MJ,ch;voidprintfCAnPleaseenterastring:M);gets(a);printfi("

919Pleaseenterachar:");ch=getchar();printfCAnThenumberofthecharis:%d

920M,fun(a,ch));I54、规定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:将字符串中的前导*号全部删除,中间和尾部的*号不删除。例如,字符串中的内容为:*******A*BC*DEF*G****,删除后,字符串中的内容应当是:A*BC*DEF*G****。在编写函数时,不得使用C语言提供的字符串函数。注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其它函数中的任何内容,仅在函数ftin的花括号中填入你编写的若干语句。****新视野教育内部资料版权所有翻印必究WWW.EOL360.COM****#includevoidfun(char*a)I}main(){chars[81];voidprintf(wEnterastring:

921");gets(s);fun(s);printfC'ThestringafterdeletedAn'*);puts(s);I55、请编写一个函数voidfun(chara[].charb[],inln),其功能是:删除一个字符串中指定下标的字符。其中.a指向原字符串,删除指定字符后的字符串存放在b所指的数组中m中存放指定的下标。例如,输入一个字符串:World,然后输入3,则调用该函数后的结果为:Wdo注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。/include/include#deHneLEN20voidfun(chara[|.charb[],intn)I}main(){charstrI[LEN],str2[LEN];intn;voidprintf("Enterthestring:

922");gets(strl):printf("Enterthepositionof(hestringdeleted:,1);scanf("%d",&n);fun(strl,str2.n);printfC'Thenewstringis:%s

923".str2);}56、请编写一个函数fun,它的功能是:比较两个字符串的长度,(不得调用C语言提供的求字符串长度的函数),函数返回较长的字符串。若两个字符串长度相同,则返回第一个字符串。例如,输入beijingshanghai(为回车键),函数将返回shanghai。注意:部分源程序存在文件PROG1.C中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#includechar*fun(char*s,char*t)Imain(){chara[20],bl20J;voidprintf("input1thstring:");gets(a);primf("Inpu12thstring:");gets(b);printf("%s

924",fun(a,b));57、假定输入的字符串中只包含字母和*号。请编写函数ftin,它的功能是:除了字符串前导和尾部的*号之外,将串中其它*号全部删除。形参h已指向字符串中第一个字母,形参p已指向字符串中最后一个字母。在编写函数时,不得使用C语言提供的字符串函数。例如,字符串中的内容为:****A*BC*DEF*G********,删除后,字符串中的内容应当是:****ABCDEFG********O在编写函数时,不得使用C语言提供的字符串函数。注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其它函数中的任何内容,仅在函数ftin的花括号中填入你编写的若干语句。

925#includevoidfun(char*a,char*h,char*p)main(){chars[81],*t,*f;voidprintff'Enlerastring:

926");gets(s);t=f=s;while(*t)(++;t—;while(*t='*,)t-;while(*f='*,)f++;fun(s,f,t);prinlfC'Thestringafterdeleted:

927"):puts(s);58、学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数ftin,它的功能是:按分数的高低排列学生的记录,高分在前。注意:部分源程序在文件PROG1.C文件中。请勿改动主函数main和其它函数中的任何内容,仅在函数ftin的花括号中填入你编写的若干语句。****新视野教育内部资料版权所有翻印必究WWW.EOL360.COM****#include#defineN16typedefstruct{charnum[10];ints;jSTREC:voidfun(STRECa[])}main(){STRECsfN]={{"GAOO5"<85},{"GAOO3,,,76}4,,GAOO2".69},{"GAOO4".85},{"GA001';91J,("GA007,;72),{"GA008",64),("GA006",87},{PA015*85},(“GA013".91M"GA012”,64},{PA014”,9”,{"GAO—"GAO17",64),{HGAO18",64},{"GAO16",72}};intifILE*out;fun(s);printfC'Thedataaftersorted:

928");fbr(i=O:i

929w);printf("%s%4d",s[ij.num,s[i].s);)printfCAn");out=fopen("c:\\test\\out.dat","w");fdr(i=O;i

930M);fprintf(out,"%4d'\s(i].s);)fprimf(out.An");fclose(out);}59、请编写一个函数fun,它的功能是:将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数)。例如,若输入字符串”-1234”,则函数把它转换为整数值-1234。函数Rin中给出的语句仅供参考。注意:部分源程序存在文件PR0G1.C文件中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include#includelongfun(char*p)[/*以下代码仅供参考*/inti,len,t;/*len为串长,l为正负标识*/longx=0;len=strlen(p);if(p[O]==-*){t=-lJen-;p++;}else(=1;/*以下完成数字字符串转换为一个数字*/returnx*t;}main()/♦主函数*/{chars[6];voidlongn;printf("Enterastring:

931");gets(s);n=fun(s);printf(n%ld

932",n);}60、编写•个函数fun,它的功能是:实现两个字符串的连接(不使用库函数slrcat),即把p2所指的字符串连接到pl所指的字符串后。例如,分别输入下面两个字符串:FirstString—SecondString程序输出:FirstString-SecondString注意:部分源程序在文件PROGLC文件中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#includevoidfunfcharpl[],charp2(])main(){charsi[80],s2[40];voidprintf("Entersiands2:

933");scanf(M%s%sMtsi,s2);printfCs1=%s

934",si);printf("s2=%s

935",s2);printf("Invokefun(sl,s2):

936");fun(sl,s2);printf("Afterinvoking:

937"):printf("%s

938';sl);61、假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:删除字符串中所有的*号。在编写函数时,不得使用C语言提供的字符串函数。例如,字符串中的内容为:****A*BC*DEF*G*******,删除后,字符串中的内容应当是:ABCDEFGo注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。/includevoidfun(char*a)]

939Imain(){chars[8l];voidprintf("Enterastring:

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

941"):puts(s);}62、请编写函数firn,其功能是:将所有大于1小于整数m的非素数存入xx所指数组中,非素数的个数通过k传回。例如,若输入:17,则应输出:46891012141516。注意:部分源程序在文件PROGLC中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。****新视野教育内部资料版权所有翻印必究WWW.EOL360.COM****#includevoidfun(intm.int*kintxx[])(Imain()(intm,n,zz[100];voidprintf("

942Pleaseenteranintegernumberbetween1()and100:0);scanf("%d'\&n);fun(n,&m,zz);printf(M

943

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

945%4d".zz[n]);63、函数ftin的功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的个位和百位上,b数的十位和个位数依次放在C数的千位和十位上。例如,当a=45,b=12时,调用该函数后,c=1524o注意:部分源程序存在文件PROG1.C中。数据文件IN.DAT中的数据不得修改。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#includevoidfun(inta,intb,long*c)I)main(){inta,b;longc;voidprin(f("Inputa.b:H);scanf(',%d,%d',.&a.&b);fun(a.b,&c);printf("Theresultis:%ld

946",c);)64、学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把分数最高的学生数据放在b所指的数组中,注意:分数最高的学生可能不止一个,函数返回分数最高的学生的人数。注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include#deGneN16typedefstruct{charnum[10];ints;}STREC;intfun(STREC*a,STREC*b)main(){STRECs[N]={{"GA05",85},「GA03”,76},{"GA02”.69},{"GA04185}.{"GA0r;91},{"GA07”,72},{“GA08”,64}.{“GA06”,87},{"GAO15”,85},("GAO13",91},{"GA0i2,1.64M,,GA014",9I}.{"GA0ir',77},("GA017".64).{"GAO18”,64},(“GAO16H,72}};STREChJN];inti.n;FILE*oul;n=fun(s,h);prinlf("The%dhighestscore:

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

948",h[i].num.h[i].s);printfCAn");out=fopen("c:\\test\\out.dat","w");fprintf(out,"%d

949",n);fbr(i=O;i

950",hli].s);fclose(out);}65、假定输入的字符串中只包含字母和*号。请编写函数firn,它的功能是:除了字符串前导的*号之外,将串中其它*号全部删除。在编写函数时.不得使用C语言提供的字符串函数。函数fun中给出的语句仅供参考。例如,字符串中的内容为:****A*BC*DEF*G*******,删除后,字符串中的内容应当是:****ABCDEFGo注意:部分源程序在文件PROG1.C文件中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#includevoidfun(char*a)]/*以下代码仅供参考*/inti=O,k;while(a[i]==***)i++;k=i;whilefalil^O,)/*以下程序段实现非*字符前移*/}a[k]='0';Imain(){chars[8l];voidprintf('rEnterastring:

951");gels(s);fun(s);printf("Thestringafterdeleicd:

952"):puis(s);66、请编写一个函数fun,它的功能是:求出一个2XM整型二维数组中最大元素的值,并将此值返回调用函数。注意:部分源程序存在文件PROGLC文件中.请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。****新视野教育内部资料版权所有翻印必究WWW.EOL360.COM****#include#defineM4intfun(inta[][M])main(){intarr(2][M]={5.8345,76,412.82};voidprintfCmax=%d

953".fun(arr)):)67、请编写函数fiin,它的功能是:求出I到1000之间能被7或II整除、但不能同时被7和II整除的所有整数并将它们放在a所指的数组中,通过n返回这些数的个数。注意:部分源程序在文件PROG1.C中.请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

954#includevoidfun(int*a,int*n)main(){intaa(1000],n,k;voidfun(aa,&n);for(k=0;k

955M);elseprintf("%5d”,aa(kj);}68、某学生的记录由学号、8门课程成绩和平均分组成,学号和8门课程的成绩已在主函数中给出。请编写函数fun.它的功能是:求出该学生的平均分放在记录的ave成员中。例如,学生的成绩是:85.5,76,69.5.85,91,72,64587.5,他的平均分应当是:78.875。注意:部分源程序在文件PROG1.C中。请勿改动主函数main和K它函数中的任何内容,仅在函数fun部位中填入你编写的若干语句。/include#defineN8typedefstruct{charnum(10];doubles(N];doubleave;}STREC;voidfiin(STREC*a)main(){STRECs={"GA005",855.76.69.5,85,9l,72,64.5,875);inti;voidfun(&s);printf("The%s'sstudentdata:

956w,s.num);for(i=0;i

957,,,s.s[i]):printf("

958ave=%7.3f

959",s.ave);}69、函数fun的功能是:将a、b中的两个两位正整数合并形成一个新的整数放在c中。合并的方式是:将a中的卜位和个位数依次放在变量c的百位和个位上,b中的十位和个位数依次放在变量c的千位和十位上.例如,当a=45,b=l2o调用该函数后,c=1425o注意:部分源程序存在文件PROG1.C中。数据文件IN.DAT中的数据不得修改。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#includevoidfun(inta,intb,long*c)[}main()/♦主函数*/{inta.b:longcjvoidprintf(NInputa,b:");scanf("%d%d".&a.&b);fun(a.b,&c);printf("Theresultis:%ld

960".c);70、编写函数fiin.它的功能是:利用以下所示的简单迭代方法求方程:cos(x)-x=0的一个实根。迭代步骤如卜:(1)取xl初值为0.0:(2)x()=xl,把xl的值赋给x0;(3)xl=cos(xO),求出•个新的xl;(4)若x0-xl的绝时值小于0.0000()1,执行步骤⑸,否则执行步骤(2):(5)所求xl就是方程cos(x)-x=0的一个实根,作为函数值返回。程序将输出结果Root=0.739086»注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其它函数中的任何内容,仅在函数firn的花括号中填入你编写的若干语句。****新视野教育内部资料版权所有翻印必究WWW.EOL360.COM****#include#includedoublefun()mainf)]voidprintf("Root=%f

961",fun());71、假定输入的字符串中只包含字母和*号。请编写函数firn,它的功能是:使字符串中尾部的*号不得多于n个;若多于n个,则删除多余的*号;若少于或等于n个,则什么也不做,字符串中间和前面的*号不删除。例如,字符串中的内容为:♦♦**A*BC*DEF*G*******,若n的值为4,删除后,字符串中的内容应当是:****A*BC*DEF*G****:若n的值为7,则字符串中的内容仍为:»***A*BC*DEF»G*******on的值在主函数中输入。在编写函数时,不得使用C语言提供的字符申函数。注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#includevoidfun(char*a.in(n)(}main()(chars[81];in(n;voidprintf("Enterastring:

962");ge(s(s);printf("Entern:");scanf("%d",&n);fun(s,n);printf("Thestringafterdeleted:

963");puts(s);172、函数fun的功能是:将s所指字符串中ASCII值为奇数的字符删除,申中剩余字符形成一个新申放在I所指的数组中。例如,若s所指字符串中的内容为:"ABCDEFG12345%其中字符A的ASCII码值为奇数、…、字符1的ASCH码值也为奇数、…都应当删除,其它依此类推.最后I所指的数组中的内容应是:"BDF24"。注意:部分源程序存在文件PROG1.C中。请勿改动主函数main和其它函数中的任何内容,仅在函数ftin的花括号中填入你编写的若干语句。#include#includevoidfunfchar*s,chart[])])main(){chars[I00),t[100];voidprintf("

964PleaseenterstringS:H);scanf("%sH,s);fun(s,t);

965printf("

966Theresultis:%s

967",t);}73、请编写个函数fun,它的功能是:根据以卜公式求兀的值(要求满足精度0.0005,即某项小于0.0005时停止迭代):尤义21x2x31x2x3x4lx2x...xn—=1+—+++++133x53x5x73x5x7x93x5x...x(2n+l)程序运行后,如果输入精度0.0005,则程序输出为3.14…。注意:部分源程序存在文件PROG1.C文件中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include#includedoublefun(doubleeps)main(){doublex;voidprintf("Inputeps:*');scanf("%l「,&x);printf("

968eps=%lf,PI=%lf

969M,x,fun(x));I74、请编写•个函数voidfun(char*tt,intpp|]),统计在tt所指字符串中公至UN26个小写字母各自出现的次数,并依次放在pp所指数组中。例如,当输入字符串:abcdefgabcdeabc后,程序的输出结果应该是:33322110000000000000000000注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。****新视野教育内部资料版权所有翻印必究WWW.EOL360.COM****#include#includevoidfun(char*tt,intpp[])}main(){charaa[1000];intbb[26],k;voidprintf("

970Pleaseenteracharstring:");scanf("%s",aa);fun(aa,bb);for(k=0;k<26;k++)printf(n%d",bb(k]);printf(M

971M);I75、函数fun的功能是:将s所指字符串中除了下标为偶数、同时ASCII值也为偶数的字符外,其余的全都删除;申中剩余字符所形成的•个新申放在t所指的数组中。例如,若s所指字符串中的内容为:"ABCDEFG123456",其中字符A的ASCII码值为奇数,因此应当删除;其中字符B的ASCII码值为偶数,但在数组中的下标为奇数,因此也应当删除:而字符2的ASCH码值为偶数,所在数组中的下标也为偶数,因此不应当删除,其它依此类推。最后I所指的数组中的内容应是:"246"。注意:部分源程序存在文件PROG1.C中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include#includevoidfun(char*s,char([])main()(chars[100],t[100];voidprintf("

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

973Theresultis:%s

974",t);I76、编写函数fiin,它的功能是:求Fibonacci数列中大于t的最小的一个数,结果由函数返回。其中Fibonacci数列F(n)的定义为:F(0)=0,F(l)=lF(n)=F(n-l)+F(n-2)例如:当1=1000时,函数值为:1597。注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。/include#includeintfun(intt)]1main()/♦主函数♦/{intn;voidn=1000;printf("n=%d,f=%d

975",n,fun(n));)77、假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:将字符串尾部的*号全部删除,前面和中间的*号不删除。例如,字符串中的内容为:****A*BC*DEF*G*******,删除后,字符串中的内容应当是:****A*BC*DEF*G0在编写函数时,不得使用C语言提供的字符中函数。注意:部分源程序在文件PROG1.C文件中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#includevoidfun(char*a)}main()(chars[81];voidprintf("Enterastring:

976*');gets(s);fun(s);printfC'Thestringafterdeleted:'n"):puts(s);I78、函数ftm的功能是:将a、b中的两个两位正整数合并形成•个新的整数放在c中。合并的方式是:将a中的十位和个位数依次放在变量c的百位和个位上,b中的十位和个位数依次放在变量c的十位和千位上。例如,当a=45,b=12.调用该函数后,c=24l5«注意:部分源程序存在文件PROGI.C中。数据文件IN.DAT中的数据不得修改。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。****新视野教育内部资料版权所有翻印必究WWW.EOL360.COM****#includevoidfun(inta,intb,long*c)I

977)main(){inta,b;longc;voidprimf("Inpuia.b:");scanf("%d%d”,&a,&b);fun(&b.&c);printfC'Theresultis:%ld

978",c);)79、请编写•个函数ftin,它的功能是:求出1到m之间(含m)能被7或II整除的所有整数放在数组a中,通过n返回这些数的个数。例如,若传送给m的值为50,则程序输出:7II142122283335424449注意:部分源程序存在文件PROG1.C中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include#defineM100voidfun(intm.int*a,int*n)[}main(){intaa[M].n,k;voidfun(50,aa.&n);for(k=0;k

979");80、N名学生的成绩已在主函数中放入•个带头节点的链表结构中,h指向链表的头节点。请编写函数ftin,它的功能是:找出学生的最高分,由函数值返回。注意:部分源程序在文件PROG1.C文件中。请勿改动主函数main和其它函数中的任何内容,仅在函数ftm的花括号中填入你编写的若干语句。#include#include#defineN8structslist{doubles;structslist*nex(;};typedefstructslistSTREC;doublefun(STREC*h)ISTREC*creat(double*s)(STREC*h,*p*q;inti=0;h=p=(STREC*)malloc(sizeof(STREC));p->s=0;while(is=s[ij;i++;p->next=q;p=q;}p->next=O;returnh;}outlis((STREC*h){STREC*p;p=h->next:printf("head");do{printf(M->%2.Of',p->s)^)=p->next;}while(p!=O);printf(',

980

981M);Imain(){doubles[NJ={85,76,69,85,91,72,64,871,max;voidSTREC*h;h=creat(s);outlist(h);max=fun(h);printf("max=%6.1f

982",max);I81、请编写函数ftin.函数的功能是:实现B=A+A:即把矩阵A加上A的转置,存放在矩阵B中。计克结果在main函数中输出。例如,输入下面的矩阵:其转置矩阵为:I23I47456258789369程序输出:261061014101418注意:部分源程序在文件PROG1.C中.请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#includevoidfun(inta[3][3],intb[3][3]))main()/♦主程序*/{inta[3][3]=({1,2,3}J4,5,6),8,9)},t[3][3];inti,j;voidfun(a,t);for(i=0;i<3;i++){for(j=0;j<3;j++)prinif("%7d"j[i][jD;primf(W);82、学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把分数最低的学生数据放在b所指的数组中,注意:分数最低的学生可能不止一个,函数返回分数最低的学生的人数。注意:部分源程序在文件PROG1.C文件中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。秘**新视野教育内部资料版权所有翻印必究WWW.EOL360.COM****#include#defineN16typedefstruct{charnum[10]:ints;}STREC:intfun(STREC*a,STREC*b)

983]main(){STRECs[N]={{"GA05”,85},{“GA03”,76},("GA02".69},{"GAO4”、85},C'GA0r;91},{"GA07H,72},{"GA08",64},("GA06'',87),{"GAO15H,85}4"GAO13,,,91},{"GAO12",64},{"GAO14';911,{"GAOir'^lhC'GAOl7",64}.{"GA018",64},{"GA016172});STRECh[N];inti,n;FILE*out;n=fun(s,h);printf(*'The%dlowestscore:

984M,n);fbr(i=O;i

985",h[i].num.h[i].s);printfCAn");out=fopen("c:\Vest\\oul.dat”「w");fprintf(out,,'%d

986",n);fbr(i=O;i

987".h[i].s);fclose(out);83、请编写个函数fun,它的功能是:找出一维整型数组元素中最大的值和它所在的下标,最大的值和它所在的下标通过形参传回。数组元素中的值已在主函数中赋予。主函数中x是数组名,n是x中的数据个数,max存放最大值,index存放最大值所在元素的下标。注意:部分源程序存在文件PROG1.C文件中.请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include#includevoidfun(inta(],intn,int*max,int*d)mainf){inti,x[20],max,index,n=I0;voidfor(i=0;i

988",max.index);)84、N名学生的成绩已在主函数中放入一个带头节点的链表结构中口指向链表的头节点。请编写函数fim,它的功能是:求出平均分,由函数值返回。例如,若学生的成绩是:85,76,69,85,91,72,64,87,则平均分应当是:78.625。注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include#include#deGneN8structslist{doubles;structslist*next;};typedefstructslistSTREC;doublefun(STREC*h)STREC*creat(double*s){STREC*h,*p*q;inii=0;h=p=(STREC*)malloc(sizeof(STREC)):p->s=0;while(is=s[i];i++;p->nexl=q;p=q;)p->next=O;returnh;}outlist(STREC*h){STREC*p;p=h->next;printfC'head");do{printf(M->%4.1f',p->s)4)=p->next;}while(p!=O);printf("

989

990',);}main(){doubles[N]=<85,76,69.85.91,72,64,87).ave;voidSTREC*h;h=creat(s);oudist(h);ave=fun(h);printf(Mave=%6.3f

991",ave);85、函数fun的功能是:将s所指字符串中卜标为偶数的字符删除,串中剩余字符形成的新串放在t所指数组中。例如,当s所指字符串中的内容为:"ABCDEFGHUK",在t所指数组中的内容应是:"BDFHJ"。注意:部分源程序存在文件PROG1.C中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。/include#includevoidfun(char*s,chart[])main。chars[100],([100];voidprintf("

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

993Theresultis:%s

994",t);)86、请编写•个函数fun,它的功能是:将ss所指字符串中所有卜.标为奇数位置上的字母转换为大耳(若该位置上不是字母,则不转换).例如,若输入"abc4EFg”,则应输出“aBc4EFg"。注意:部分源程序存在文件PROG1.C中。请勿改动主函数main和其它函数中的任何内容,仅在函数ftin的花括号中填入你编写的若干语句。****新视野教育内部资料版权所有翻印必究WWW.EOL360,COM****#include

995#includevoidfun(char*ss)main(){char#81];voidprintf('AnPleaseenteranstringwithin80charactersiVn*');gets(tt);printf("

996

997Afterchanging,thestring

998\M%s\"M,tt);fun(It);printf("

999becomes

1000\',%s\,'

1001'\tt);)87、请编写一个函数fun,它的功能是:计算n门课程的平均分,计算结果作为函数值返回。例如:若有5门课程的成绩是:90.5,72,80,61.5,55则函数的值为:71.80.注意:部分源程序存在文件PROGI.C中o请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#includefloatfun(float*a,intn)main(){floatscore[30]=(905.72.80.61.5,55}.aver;voidaver=fun(score,5);printf(,r

1002Averagescoreis:%5.2f

1003M,aver);)88、函数ftin的功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的千位和十位上,b数的十位和个位数依次放在c数的百位和个位上。例如,当a=45,b=l2时,调用该函数后,c=41520注意:部分源程序存在文件PROG1.C中。数据文件IN.DAT中的数据不得修改。请勿改动主函数main和其它函数中的任何内容,仅在函数ftin的花括号中填入你编写的若干语句。#includevoidfun(inta,intb,long*c)main(){inta,b:longc;voidprintf("Inputa.b:");scanf("%d,%d",&a,&b);fun(a,b,&c):printfC'Theresultis:%d

10040,c);}89、编写函数fun,它的功能是计算:s-Jln(1)+ln(2)+ln(3)++ln(Ms作为函数值返回。在C语普中可调用log(n)函数求In(n)olog函数的引用说明是:doublelog(doublex)。例如,若m的值为:20,ftin函数值为:6.506583。注意:部分源程序在文件PROGI.C中。请勿改动主函数main和K它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。/include/includedoublefun(intm)]}main()voidprintfC^fXn",fun(20));)90、假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:除了尾部的*号之外,将字符串中其它*号全部删除。形参p已指向字符串中最后的•个字母。在编写函数时,不得使用C语言提供的字符申函数。例如,字符串中的内容为:****A*BC*DEF*G*******,删除后,字符串中的内容应当是:ABCDEFG*******。注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其它函数中的任何内容,仅在函数ftin的花括号中填入你编写的若干语句。****新视野教育内部资料版权所有翻印必究WWW.EOL360.COM****#includevoidfun(char*a,char*p)main(){chars[81),*t;voidprintf("Enterastring:

1005");ge(s(s);t=s;while(%)l++;t—;fun(s,t);printfC'ThestringafterdeletediXn1');puts(s);I91、编写函数ftin,函数的功能是:根据以下公式计算s,计算结果作为函数值返回I:n通过形参传入。I1IS=1+++...+1+2I+2+3l+2+3+...+n例如:若n的值为11时,函数的值为:1.833333注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。/includedoublefun(intn)main(){intn;doubles;voidprintfCAnPleaseenterN:");scanf("%d",&n);s=fiin(n);printfC'theresultis:%An",s);92、假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:将字符串中的前导*号全部移到字符串的尾部。函数ftin中给出的语句仅供参考。例如,字符串中的内容为:♦♦♦♦♦**A*BC*DEF*G***»,移动后,字符串中的内容应当是:A*BC*DEF*G**♦♦♦♦*♦0在编写函数时,不得使用C语言提供的字符串函数。

1006注意:部分源程序在文件PROG1.C文件中o请勿改动主函数main和其它函数中的任何内容,仅在函数firn的花括号中填入你编写的若干语句。#includevoidfun(char*a)]/*以下代码仅供参考♦/char*p.*q;intn=0;p=a;while(*p==**')/*统计串头个数n*/{n++;p++;}q=a;/*向前复制字符串,请填写相应的语句完成其功能*/for(;n>0;n~)/♦在串尾补n个**/♦q++='*';♦q=,\0,;Imainf){chars[8l];intn=0;voidprintfCTnterastring:

1007");gets(s);fiin(s);printfCThestringaftermoveing:

1008"):puts(s);93、假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:使字符串的前导*号不得多于n个:若多于n个,则删除多余的*号;若少f•或等于n个,则什么也不做,字符串中间和尾部的*号不删除。函数fun中给出的语句仅供参考。例如,字符串中的内容为:*******A*BC*DEF*G****,若n的值为4,删除后,字符串中的内容应当是:****A*BC*DEF*G****:若n的值为8,则字符串中的内容仍为:*******A*BC*DEF*G****。n的值在主函数中输入。在编写函数时,不得使用C语言提供的字符串函数。注意:部分源程序在文件PROG1.C文件中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#includevoidfun(char*a,intn)]/*以下代码仅供参考♦/inti=OJ,k=O;while(a[k]==**')k++:/*k为统计*字符个数♦/if(k>n){i=nj=k:/*以F完成将下标为k至串尾的字符前移k-n个位置*/1)main(){chars[81];intn;voidprin(f("Enterastring:

1009");ge(s(s);prinlf("Entern:");scanf("%d",&n);fun(s,n);printf(MThestringafterdeleted:

1010");puts(s);)94、函数ftin的功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的十位和千位上,b数的十位和个位数依次放在c数的百位和个位上。例如,当a=45,b=l2时,调用该函数后,c=51420注意:部分源程序存在文件PROG1.C中。数据文件IN.DAT中的数据不得修改。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。****新视野教育内部资料版权所有翻印必究WWW.EOL360.COM****#includevoidfun(inta.intb.long*c)])main(){int&b;longc;voidprintf("!nputa,b:");scanf("%d,%d",&a,&b);fun(&b,&c);printfC'Theresultis:%ld

1011",c);}95、函数firn的功能是:将a、b中的两个两位正整数合并形成•个新的整数放在c中。合并的方式是:将a中的十位和个位数依次放在变量c的千位和十位上,b中的十位和个位数依次放在变量c的个位和百位上.例如,当a=45,b=l2o调用该函数后,c=4251«注意:部分源程序存在文件PROG1.C中。数据文件IN.DAT中的数据不得修改。请勿改动主函数main和其它函数中的任何内容,仅在函数ftm的花括号中填入你编写的若干语句。#includevoidfun(inta.intb.long*c)main(){inta.b:longc;voidprintf("Inputa,b:H);scanf("%d%d”,&a,&b);fun(a,b,&c);printfC'Theresultis:%ld

1012M,c);96、函数fun的功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的个位和仃位上,b数的十位和个位数依次放在c数的十位和千位上。例如,当a=45,b=12时,调用该函数后,c=2514。注意:部分源程序存在文件PROG1.C中。数据文件IN.DAT中的数据不得修改。请勿改动主函数main和其它函数中的任何内容,仅在函数ftin的花括号中填入你编写的若干语句。#includevoidfun(inta,intb,long*c)main(){inta.b:longc;voidprintf("Inputa,b:M);scanf(H%d,%d",&m&b);fun(db,&c);

1013printfC'Theresultis:%ld

1014",c);I97>学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把指定分数范用内的学生数据放在b所指的数组中,分数范围内的学生人数由函数值返回。例如,输入的分数是6069,则应当把分数在60到69的学生数据进行输出,包含60分和69分的学生数据。主函数中将把60放在low中,把69放在heigh中。注意:部分源程序在文件PROGI.C文件中。请勿改动主函数main和其它函数中的任何内容,仅在函数ftin的花括号中填入你编写的若干语句。#include#defineN16typedefstruct{charnum[10];ints;}STREC;intfun(STREC*a.STREC*b.int1.inth))main(){STRECs[N]={{MGA005",85},{"GA003",76},{"GAOOl"^},{"GA0()4".85},{"GAOO1",96},{"GA007",72},{"GA008",64),{"GA006",87},{"GAO15”,85},{"GAO13:94},{'GAO12”,64),{“GA014”,91},("GAOIIM,90},{MGA017”,64}.{"GAO18".64}.{“GAO16",72}}:STRECh[N],tt;FILE*out;intij,n,low,heigh,t;printff'Enter2integernumberlow&heigh:");scanf("%d%d",&low,&heigh);if(heigh

1015",lowj)eigh);for(i=0;i

1016,\hli].num.h[i].s);prin(f("

1017");out=fopenC'ciWtestWout.dat^/'w");n=fun(s.h,80.98);fprintf(out."%d

1018".n);for(i=0;ih[j].s)(tt=h(i]4i[i]=h[j];h[j]=tt;}for(i=0;i

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

1020tr);fclose(out);I98、学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中.请编写函数ftin.它的功能是:函数返回指定学号的学生数据,指定的学号在主函数中输入。若没找到指定学号,在结构体变量中给学号置空串,给成绩置“,作为函数值返回。(用于字符串比较的函数是siremp)。注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。****新视野教育内部资料版权所有翻印必究WWW.EOL360.COM****/include#include#defineN16typedefstruct{charnum[10];ints;}STREC;STRECfun(STREC*a,char*b)main(){STRECs[N]={("GA005”.85},{"GAOO3”,76},{“GA002”,69},{“GA004”.85}.{NGA001M,91}.r,GA007';72},{,,GA008",64}.{"GA006",87),{*'GAO15M,85},{"GAO13,\91),{"GAO12",64},{"GAO14",91),{"GAO11",77}.{“GAO17164},{“GAO18",64},{"GAO16M,72));STRECh;charm[10]:intifILE*out;printfC'Theoriginaldata:

1021");for(i=O;i

1022");printf(,,%s%3d",s[i].num,s(i].s);)printf(,,

1023

1024Enterthenumber:");gets(m);h=fun(s,m);printfC'Thedata:");printf("

1025%s%4d

1026",h.num,h.s);printfCAn");out=fopen("c:\\test\\out.dat,,,,'w,');h=fun(s,"GAOI3M);fprintf(out/%s%4d

1027".h.num.h.s);fclose(out);I99、学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把低于平均分的学生数据放在b所指的数组中,低「平均分的学生人数通过形参n传回,平均分通过函数值返回。注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其它函数中的任何内容,仅在函数ftin的花括号中填入你编写的若干语句。#include#defineN8typedefstruct{charnum[10];doubles;}STREC;doublefun(STREC*a,STREC*b,int*n)Imain(){STRECs[N]={{MGA05M,85},(,,GA03);76},{nGA02';69},{,,GA04,,,85),(PAOI”.91},{,,GA07';72),{"GA08",64},{“GA06187}};STRECh[N],l;FILE*out;intijui;doubleave;ave=fun(s,h,&n);printfC'The%dstudentdatawhichislowerthan%7.3f:

1028",n.ave);for(i=0;i

1029';h[i].num.h[i].s);primfCAn");out=fopenC'ciWtestWout.dat^/'w");fprintf(oui,"%d

1030%73f

1031".n.ave);for(i=0;ih(j].s)(t=h[i]划i|=h[j];h|j|=t;)for(i=0;i

1032".h[i].s);fclose(out);)100、假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:只删除字符申前导和尾部的*号,串中字母之间的*号都不删除。形参n给出了字符申的长度,形参h给出了字符串中前导*号的个数,形参e给出了字符串中最后*号的个数。在编写函数时,不得使用C语言提供的字符串函数。

1033例如,字符串中的内容为:****A*BC*DEF*G*******,删除后,字符串中的内容应当是:A*BC*DEF*Go注意:部分源程序在文件PROG1.C文件中。请勿改动主函数main和其它函数中的任何内容,仅在函数fiin的花括号中填入你编写的若干语句。#includevoidfun(char*a.intn.inth,inte)main(){chars(81],*t,*f;intm=0,tn=0,fn=0;voidprinlf("Enterastring:

1034");gets(s);t=f=s;while(*t){t++un++;}Iwhile(*t=='*'){t—;tn++;}whiie(*f=,**){f++;fn++;}fun(s,m,fn,tn);printfC'Thestringafterdeleted:

1035N);puts(s);I参考答案・、程序填空题1、(1)double(2)fl(3)f22、(1)structstudent(2)n-l(3)a[i].name.a[j].name3、(1)0(2)x[i]/N(3)j-H-4、(1)k(2)N(3)a[k][i]5、(1)V(2)s-h-(3)ctod(a)+ctod(b)6,(1)0(2)n(3)(t*t)7、(1)j(2)0(3)i++8、(1)N(2)k(3)ss[i]9、(1)a(2)b.name(3)score[i]10、(1)(MJ(2)N(3)0Ik(I)t,s(2)s[i]⑶012、(I)j⑵k⑶p13、(1)999(2)t/10(3)x14、(1)48(2)s++(3)sum15、(1)h->next(2)p->next(3)>=16、(I)structstudent*(2)a->score[i](3)a17、(1)s/N(2)j++(3)A18、(1)n++(2)0(3)s-H-19、(1)N(2)i(3)-120、(1)a[0][i](2)<(3)x,y21、(1)s(2)-(3)return022、(1)feof(fp)(2)=sno(3)sizeof(STU)23、(1)->sno(2)->name(3)&t24、(1)x[i]/N(2)j++(3)i++25、(1)0(2)i++(3)2力26、(1)[N](2)i(3)i+127、(1)double(2)fl(3)f228、(1)FILE*(2)fclose(fp)(3)fp29、(1)1(2)2*i(3)(-1)30、(1)filename(2)SEEK_END(3)&n31、(1)*av(2)i(3)x[j]32、(1)FILE*(2)fp(3)ch33、(I)structstudent(2)a.name(3)a.score[i]34、(I)i(2)ps[i](3)tp35、(1)s[i](2)k(3)036、(1)3.(2)>(3)(2*i+l)37、(1)10(2)0(3)x38、(1)0(2)x(3)t-H-39、(1)0(2)II(3)140、(I)k(2)N-l(3)temp41、(1)N(2)break(3)n42、(1)p->next(2)q(3)j»next43、(1)h->next(2)p==0(3)r44、(1)0(2)10*x(3)n/1045、(1)N(2)substr(3)046、(1)1(2)s(3)i*1047、(1)W(2)>s[j].sno⑶fwrite48、(1)*s(2)1⑶k(n]49、(1)*s(2)s++(3)n50、(1)NODE*⑵q(3)r51v(1)->sno(2)->name(3)&t52、(1)0(2)i++(3)2.*i53、(I)j++(2)s[ij=tl[ij(3)j54、(1)1NJ(2)(3)55、(I)t=i(2)i(3)056、(1)next(2)t->da(a(3)t57、(1)sum=0(2)t[i][i](3)158、(1)999(2)t/10(3)x59、(1)10(2)0⑶x60、(1)0(2)10*x(3)n/1061、(1)1(2)j++(3)j62、(1)M(2)<(3)k63、(1)*fw(2)str(3)str64、(1)1(2)i(3)a[p+i]65、(1)N(2)k⑶ss[i]66、(1)3.(2)>(3)(2*i+l)67、(1)s[i](2)9(3)*t=n68、(I)a[i](2)a[j](3)a[j]

103669、(1)0(2)x(3)t++70、(i)i++(2)m(3)m71、(I)alij%2⑵a[j](3)j72、(I)s[i](2)k(3)073、(1)0(2)n(3)(t*t)74、(1)1(2)s[k](3)c75、(1)*n(2)next(3)head76、(1)N(2)N-l(3)077、(1)N(2)i(3)-I78、(1)structstudent*(2)a>>score(i](3)a79、(1)q(2)next(3)next80、(1)(fp)(2)=(3)fp81、(1)&&(2)0(3)s(jl82、(1)structstudent(2)a.name(3)a.score[i]83、(1)1(2)2*i(3)(-1)84、(1)char(2)ch<='9'(3)'O'85、(1)data(2)next(3)head86、(1)0(2)n(3)head,ch87、(1)x(2)p(3)s88、(1)STYPE(2)FILE(3)fp89、(1)0(2)j-(3)j90、(1)t[][NJ(2)i=O;ip)3、(1)doublefun(intm)(2)fbr(i=100;i<=mu-1+=0)4,(1)for(i=strlen(t)-1;i;i")(2)if(t(j]>t[j+1])5、(1)voidfun(char*s,int*a,int*b)(2)++(*a);(3)++(*b);6、(1)fbr(i=0^tr[i]3++)(2)if(substr[k+l)=0)7、(1)for(i=2^<=m;i4-+)(2)y-=l.0/i/i;8、(1)intk=0;(2)while(*pII*q)9、⑴s[j++]=s(ij;(2)s[j]=O;10、(1)t=l;(2)retum(2*s);Ik(1)if(i%k=O)(2)if(k>=i)12、(1)while(i0)14、(1)if((k%13=0)II(k%17==0))<2)}15、(1)p=h->next;(2)p=p->nex(;16、(1)char*fun(char(*sq)(M])(2)returnsp;17、(1)includewstdio.hn(2)upfst(char*p)18、(1)t+=s[k];(2)*aver=ave;19、(1)a2=k/10;(2)returni;20、(1)intfun(int*x,int*y)(2)t=*x;*x=*y;*y=t;21、(1)doublefun(intn)(2)c=a^i+=b;b=c;22、(1)n=strlen(aa);(2)ch=aa[i];23、(1)doublefun(doublea,doublexO)(2)if(fabs(x1-x0)>0.0()001)24、(1)num[k]=0;(2)switch(*s)25、(1)voidfun(char*s,char*t)(2)t(2*d]=0;26、(1)aa[i]=m%k;(2)primf("%d”,aali-lD;27、(1)p=h->next;(2)p=p->next;28、(1)t=(STU*)calloc(sizeof(STU),m);(2)t|kj=b[j];29、(1)k++:(2)if(m=k)30、(1)p=(NODE*)malloc(sizeof(NODE));(2)returnh;31、(1)floatfun(intn)(2)for(i=2;i<=n;i++)32、(1)s|j-H-]=s[i];(2)s[j]=O:33、(1)if(p==n)return-1;(2)a[i]=a[i+l];34、(1)doublefun(intn)(2)returnsum;35、(1)while(*w)(2)if(*r==*p)36、(1)doublefun(in(n)(2)s=s+(double)a/b:37、(1)if(n==0)(2)result*=n-;38、(1)inti,sl;(2)l[i]=s[sl-i-l];39、(1)t-=l.0/i;(2)returnt;40、(1)fun(inta[][M],intm)(2)a[j][k]=(k+l)*(j+l);4k(1)sum=0;(2)scanf("%d",&a[i][j]);42、(1)while(*s)(2)s++;43、(1)r=t;(2)if(*r==O)44、(1)*t=0;(2)if(d%2!=0)45、(1)fun(intx,inty,intz)(2)returnj;46、(1)intfun(intnjntxx[][M])(2)printf(M%dH,xx[i][j]);47、(1)p=s;(2)while(*p++);48、(1)floatfun(intk)(2)returns;49、(1)intj,c=0;floatxa=0.:(2)if(x[j]>=xa)50、(1)if(i%2ls[i]%2==0)(2)t[j]=O:5k(1)doublefun(doublea.doublexO)(2)if(fabs(xl-x0)>0.00001)52、(1)voidfun(char*s,char*t)(2)t[2*d]=0;53、(1)for(j=i+Iu<6a++)⑵*(ps(r+i)=*(pstr+j);

103754、(1)#defineFU(m,n)((m)/(n))(2)return(value);55、(1)while((fabs⑴)>=num)(2)t=s/n;56、(1)fun(char*a)(2)printf(',%c';*a);57、(1)doubler;(2)while(fabs(m-n)>0.001)58、(1)voidfun(longs,long*t)(2)while(s>0)59、(1)if(n==0)(2)result*=n";60、(1)*t=0;(2)if(d%2!=0)61、(1)t=a:a=b;b=t;(2)retum(b);62、(1)if((,a,<=tt[i])&&(ttli]<=,z'))(2)tt[i|-=32;63、(1)voidfun(longs,long*t)(2)sl=sl*10;64、(1)floatk;(2)if(*c>*a)65、(1)intk=0;(2)while(*pII*q)66、(1)doublefun(intn)(2)s=s+(double)a/b;67、(1)t=*x;*x=y;(2)returnt;68、(1)switch(g)(2)caseI:returnLease2:retumI;69、(1)inti.sl;(2)t[i]=s[sl-i-l];70、(1)while((2<=high)&&(n<10))(2)yes=0;break;71、(1)fun(imn)(2)if(n=l)72、(1)whiie(*w)(2)if(*r==*p)73、(1)for(i=0;s(r[ilu++)(2)if(subs(r[k+11==0)74、(1)longs=O,t=O;(2)t=t/10;75、(1)a=0;(2)if(*r==*p)76、(1)s=s+(n+l.yn;(2)returnt;77、(1)a2=k/10;(2)returni;78、(1)char*fun(char(*sq)[M])(2)returnsp;79、(1)p=j;(2)p=i;80、(1)n=strlen(aa);(2)ch=aa[i];81、(1)for(i=2;i<=m;i++)(2)y+=I.OA/i;82、(1)if(p==n)return-1;(2)a[i]=a[i+l];83-(1)k++;(2)if(m=k)84、(1)b(k]=*p;(2)b[k]=85、(1)while(*r)(2)*a=*r;a++y++;86^(1)for(i^),t=0;p[i];i++)(2)c[t]=O;87、(1)longk=l;(2)num/=10;88、(1)for(i=0;ia[mid])91、(1)doublesum=0.;(2)sum/=c;92、(1)s[j-H-]=s[i];(2)s[j]=O;93、(1)t=l;(2)retum(2♦s);94、(1)if(d%2==0)(2)s/=10;95、(1)intfun(intn.intxx[][M])(2)printf(H%d';xx[il|jl);96、(1)for(i=j+lup)98、(1)n=*p-'0';(2)n=n*8+*p-'0,;99、(1)sum=0;(2)if((i+l)%5=0)100、(1)fun(intx,inly,intz)(2)returnj;三、程序编写题1.voidfun(char*w,intm)Ichara|N];inti;for(i^):i=0:m-j-)w[i]=a[m];)2.intfun(STREC*a.STREC*b.intI,inth)]inti,j=0;for(i=0u=l&&a[i].s<=h)]bU]=a[i];j++;1Ireturnj;)3.fun(STUa[],STU*s)inti;♦s=a[0];for(i=lus)*s=a[i];1}

10383.voidfun(char*ss)Iinti=l;while(ss[i-l]&&ss[i])Iif(ss[ij>='a'&&ss[iK='z')ss(iJ+='A'-'a';i+=2;})4.floatftin(floath)Ilongi=h*l000;if(i%10<5)return(i/10)/100.0;elsereturn(i/10+1)/100.0;5.doublefun(doubleeps)(doublei=l,a=l,b=l,c=1,s=0;while(c>=eps)Is+=c;a*=i;b*=2*i+l;c=a/b;i++:}returns*2;6.inifun(intscore[].intm,intbelow]])]inti,j=O.s=O;for(i=0:iOj-)

1039Ii++;})8.voidfun(char*a,intn)Iinti=Oj=O;while(a[i])Iif(a(i]!=**)Ij=i;break;Ii++;}if(j>n)]while(a[i])[a(i.j+n]=a(il;i++;}a(i-j+n]=O;))9.voidfun(intx,intpp[),int*n){inti;*n=O;for(i=l;i<=x;i+=2)[if(x%i==O)pp[*n]=i;(*n)++;]10.voidfun(char*s,char([])]inti=OJ=O;while(s[i])(if(i%2!=0IIsli]%2=0)[tUMi];j++;)i++:II11.voidfun(inta,intb,long*c){*c=a/l0*i00+a%10+b/l0*10+b%10»1000;14.doublefun(intn)inti;doubles=0;for(i=l;i

104017.doublefun(intw[][N])[doubles=0;inii;for(i=0us[*k])*k=i;19.voidfun(char*a)]inti=0,j=0;while(a[i])]if(a[il!=♦')j=0;elsej++;i++;1a[i-j]=O;I20.intfun(intlim,intaa[MAX])[intij,k=O;for(i=2;i<=lim;i++)[for(j=2jnext;while(p)Iif(as)a=p->s;p=p->next;Ireturna;I23.doublefun(STREC^a.STREC*b,int*n)inti;doubles=0;for(i=Ojs)(b[*n]=a(i];(*n)++;Ireturns;)14.intfun(inta[MJ[N]){inti.s=0;for(i=Ou

1041Iinti=Oj=O;while(s[i]){if(i%2==l&&s[i]%2=l)ItUJ=sl«J:j++;}II25.ftin(char(*a)[81],intnum.char**max)inti,j,k=strlen(a[O]);*max=a[O];for(i=l;i=j/2)return1;elsereturn0;28.inifun(inta[],intn)]intij=0;for(i=l;ia[*d])*d=i:*max=a[*d];}1.1intfun(char*s)[inti=Oj=O,f=l;while(s[i])[ifCstiRa11s[i]>'z')if(Dj++;f=0;}elsef=l;i++;}returnj+1;31.intfun(inta[)[N],intm)intij;for(i=0;i

10421.1intfun(STREC*a,STREC*b)Iintij=O,s=a[O].s;for(i=l;is)s=a[O][i];if(a[l][iJ>s)s=a[lHib}returns;137.longfun(char*p){longi,s=O;if(p[ODwhile(plij)Is=s*l()+p[i]-,0,;i++;Is*=-1;Ielse]i=0;while(p[i])s=s*IO+p[i]-'O,;

1043i++;}returns;I38.voidfun(inta,intb,long*c)]*c=a/10*100+a%10+b/10*1OOO+b%10*10;39.intfun(char*str)(inti,k=O;char*p=str,s[81];while(*p){if(*p!=')s[k++]=*p;P++;)for(i=0;i=IO)b[IO)++;elseb[k]++;I}48.doublefun(intn){inii:doubles;for(i=lu<=nu++){s+=1.0/(i*(i+l));)

1044returns;}47.floatfun(intm,intn){inti;floatml=1.0,nl=1.0,k=l.0;for(i=l;i<=m;i++)ml*=i;for(i=l;i<=nu++)nI*=i;for(i=l;i<=m-n;i++)k*=i;returnml/nl/k;}48.voidfun(int(*s)[10],int*b.int*n,int{inti,j.k=O;for(j=Oy=ave)Ib[j]=alil;j++;(*n)++;)i++;)returnave;50.voidfun(char*s.chart[J)[inti=0,j=0;while(s[i])

1045皿=州;j++;}i++;)tUJ=o;I53.inifun(char*ss,charc)(intn=O,i=O;while(ss[i])(if(ss[i]=c)]n++;Ii++;)returnn;)54..voidfun(char*a)]inti=Oj=O;while(a[i])(if(a[i]!='*')(j=i;break;)i-H-:}while(a[i])(i++;I55.voidfun(chara[],charb[],intn)[inti=O,j=O;while(a[ij)(if(i!=n)[NjEi];j++:}i++:156.char*fun(char*s,char*t)[charm=s;n=t;while(*s&&*t)(t++;s++;)if(*t)returnn;elsereturnm;I57.voidfun(char*a,char*h,char*p)Iinti=0;for(;a[i]==*'u-H-)while(h

1046I55.voidfun(STRECa[])Iintij;STRECb;for(i=0;i

1047for(j=2;js)s=a[i].s;for(i=0;is[ij;)a->ave=sum/N;}69.voidfun(inta,intb,long*c)[*c=a/l0*100+a%10+b/10*1000+b%10*10:)70.doublefun()Ifloatx0,xl=0.0;while(1){x0=xl;xl=cos(x0);if(fabs(xO-x1)<1e-6)break;}returnxl;

1048}69.voidfun(char*a,intn)(inti=OJ=O,c,k;while(a[i])i++;c=i;while(a[i-l]=='*')(j++;)if(j>n)(k=j-n;a[c-k]=,\0,;)}70.voidfun(char*s,chart[]){inti=0j=0,m;while(m=s[i])Iif(m%2=0){t[j]=s[i];j++;}i++;)⑴…:71.doublefun(doubleeps)]inti=0;doublepi=0,a=l;while(a>=eps)(pi+=a;i++;a=a*i/(2*i+l);)returnpi*2;I74,voidfun(char*t(,intpp[])

1049pp[i]=O;i=0;while(tt[i])(pp(tt[i]-97]++;i++;)}75.voidfun(char*s.chart[|){inti=O.k=O,length;length=s(rlen(s);while(i\0*;I78.voidfun(in(a,intb,long*c)♦c=a/10*100+a%I(h-b/10*I(Rb%10*1000:79.voidfun(intm.int*a,int*n)]intij;*n=0;fbr(i=lj=0;i<=mu++)(if((i%7=0)Ki%ll=0))[j++;(*n)++;})I80.doublefun(STREC*h)]doublemax;STREC*p;p=h->next;max=p->s;while(p)if(p->s>max)max=p->s;)p=p->r»ext;)returnmax;)81.voidfun(inta[3][3]Jntb[3][3J)Iintij;for(i=Ou<3;i++)for(j=0;j<3j++)b[i]UJ=O;for(i=Ou<3;i++)for(j=Oj<3u++))

105077.inifun(STREC*a.STREC*b)(inti,j=0,score;score=a[0].s;for(i=Oua[i].s)score=a[i].s:for(i=0;inex(;while(p)(sum+=p->s;p=p->next;}ave=sum/N:returnave;80.voidfun(char*s,chart[])]inti;for(i=0;i<50;i++)t[i]=s[2*i+l]:81.voidfun(char*ss)[inti=0;while(ss[ij)(if(i%2!=0)Iif(ss[i]>='a,&&ss[i]<='z'){ss[i]-=32;J}i++;82.floatfun(float*a,intn)Iinti;doublesum=0.0,ave;for(i=0;i

105177.doublefunc(intn)[intij;floatsum,resu;resu=0;for(i=1;i<=n;i++)(sum=0;for(j=l;j<=i;j++){sum=sum+j;}resu=resu+1/sum:)returnresu;78.voidfunc(char*a)Ichar*p,*q;intn=0;p=a;while(*p='*')(n++;P++:)q=a;while(*p!=NULL)(*q=*p;P++:q++;for(:n>0:n-)*q++=93.voidfunc(char*a,intn)]inti=0J=0;while(a[i])Iif(a[i]!=*){j=i;break;}i++;)if(j>n)(while(a[i]){a(i-j+n]=a(i];i++;)a[i-j+n]=O;)94.voidfun(inta,intb,long*c){*c=a/10*10+a%10*1000+b/10*100+b%10:95.voidfun(inta,intb,long*c)[*c=a/10*1000+a%10*10+b/10+b%10*100:96.voidfun(inia,intb,long*c)I*c=a/10+a%10*100+b/10*10+b%10*1000;97.intfun(STREC*a,STREC*b,intI,inth)Iintij=0;for(i=0;i=l&&a[i].s<=h)(bUJ=a[i];ji;}}returnj;98.STRECfun(STREC*a.char*b)

1052ISTRECres;inti;for(i=0;i

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

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

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