二级C语言上机100题库

二级C语言上机100题库

ID:83016987

大小:180.47 KB

页数:106页

时间: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题库》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

第1题填空题给定程序中,函数firn的功能是:将形参n所指变量中,各位上为偶数的数去除,剩余的数按原来从高位到低位的顺序组成一个新的数,并通过形参指针n传回所指变量。例如,输入一个数:27638496,新的数:为739。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANKSC中。不得增行或删行,也不得更改程序的结构!答案:{t=*n%10;/**********d**********/if(t%2!=0){x=x+t*i;i=i*10;}*n=*n/10;/**********found**********/*n=x;改错题给定程序MOD"•C中函数fun的功能是:计算n!。例如,给n输入5,则输出120。000000o请改正程序中的错误,使程序能输出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程答案:/************f^ound************/if(n=0)return1.0;while(n>1&&n<170)/************f^Qund************/result*=n-;程序编写请编写一个函数fun,它的功能是:将个数字字符串转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数)。例如,若输入字符串“-1234”,则函数把它转换为整数值-1234;函数ftin中给出的语句仅供参考。注意:部分源程序存在文件PROG1.C文件中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。longfun(char*p)/*以下代码仅供参考*/inti,len,t;/*len为串长,t为正负标识为longx=0;len=strlen(p);

1inext=NULL;fbr(i=l;i<=n;i-H-){s=(NODE*)malIoc(sizeofi(NODE));s->data=rand()%m;p->next=s;s->next=p->next;p=p->next;/**********Cund***********/returnh;程序编写请编写函数fun,函数的功能是:统计一行字符创中单词的个数,作为函数值返回。一行字符串在主函数中输入,规定所有单词由小写字母组成,单词之间由若干个空格隔开,一行的开始没有空格。注意:部分源程序存在文件PROG1.C文件中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。intfun(char*s)

2intk=1;while(*s){if(*s='*)k++;S-H-;}returnk;}第4题填空题程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。所有学生数据以二进制方式输出的文件中。函数fun的功能是重写形参filename所指文件中最后一个学生的数据,即用新的学生数据覆盖该学生原来的数据,其它学生的数据不变。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1。C中。不得增行或删行,也不得更改程序的结构!fp=fbpen(filename,"rb");fread(s,sizeof(STU),N,fp);fclose(fp);for(i=0;is[j].sno){t=s[i];s[i]=s[j];s[j]=t;}fp=fbpen(filename,nwbn);/*******************/fwrite(s,sizeof(STU),N,fp);改错题给定程序MOD"。C中函数fbn的功能是:在字符串繁荣最前端加入n个*号,形成新串。并覆盖原串。注意:字符串的长度最长允许为79。请改正函数fun中指定部位的错误,使它能得出正确的结果。/**********Cund***********/P=s;fbr(i=O;i

3请编写函数fbn,函数的功能是:统计各年龄段的人数。N个年龄通过调用随机函数获得,并放在主函数的age数组中;要求函数把0至9岁年龄段的人数放在d[2]中,其余依次类推,把100岁(含100)以上年龄的人数都放在d[l]中。结果在主函数中输出。注意:部分源程序存在文件PROG1.C文件中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。voidfiin(int*a,int*b)inti,j;fbr(i=0;i10)b[M-1]++;elseb[j]++;第5题填空题给定程序中,函数fun的功能是将参数给定的字符串、整数、浮点数写到文本文件中,再用字符串方式从此文本文件中逐个的读入,并调用库函数atoi和atof将字符串转换成相应的整数、浮点数,然后将其显示在屏幕上。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意源程序存放在考生文件夹下的BLANK1。C中。不得增行或删行,也不得更改程序的结构!/********************/FILE♦fp;charstr[100],strl[100],str2[100];intal;doublefl;fprintfiffp,"%s%d%f

4M,s,a,f);/**********^Qund**********/fclose(fp);fp=fbpen(,,filel.txf,,V);/**********治und**********/fscanf(fp,"%s%s%s",str,strl,str2);改错题给定程序MOD"。C中函数firn的功能是:对N名学生的学习成绩,按从高到低的顺序找出前m(m(=10)名学生来,并将这些学生数据存放在•个动态分配的连续存储区中,此存储区的首地址作为函数值返回。请改正函数fiin中指定部位的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构intij,k;/**********d**********/t=(STU*)calloc(sizeof(STU),m);fbr(i=0;i

5{for(i=j=0;ib[j].s)j=i;t[k]=b[j];程序编写请编写函数fun,函数的功能是:删除一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。例如,・维数组中的数据是:2223445666677899101010。删除后,数组中的内容应该是:23456789100注意:部分源程序存在文件PROG1.C文件中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。intfun(inta[],intn)inti,j=1,k=a[0];fbr(i=1;i

6)while(*tt){tl++;tt++;程序编写请编写函数fiin,函数的功能是:移动字符串中的内容,移动的规则如下:把第1到第m个字符,平移到字符串的最后,把第m+1到最后的字符移动到字符串的前部。例如,字符串中原有的内容为:ABCDEFGH1JK,m的值为3,则移动后,字符串中的内容应该是:DEFGHIJKABC,注意:部分源程序存在文件PROG1.C文件中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语inti;chart;t=w[O];fbr(i=O;i

7%d%s%c%d-%d-%dn,tt.num,tt.name,tt.sex,tt.birthday.year,tt.birthday.month,tt.birthday.day);fbr(i=O;i<3;i++)/********************/printff%5.1F=tt.score[i]);printf(M

8H);main(){STUstd={1;'ZhanghuaM?M,,1961,10,8,76.5,78.0,82.0};printf(M

9Astudentdata:

10*');/********************/show(std);改错题给定程序MOD"。C中函数fun的功能是:求出数组中最大数和次最大数,并把最大数和a[0]中的数对调、次最大数和a[l]中的数对调。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!

11fbr(i=0;i<2;i++){/**********%und**********/m=i;fbr(k=i+1;ka[m])m=k;程序编写请编写一个函数unsignedfun(unsignedw),w是一个大于10的无符号整数,若w是n(n>=2)位的整数,函数求出w的低n-1位的数作为函数值返回。例如:w值为5923,则函数返回923;w值为923则返回23。注意:部分源程序存在文件PROG1.C文件中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。{if(w>10000)w%=10000;elseif(w>1000)w%=1000;elseif(w>100)w%=100;elseif(w>10)w%=10;returnw;}第8题填空题给定程序通过定义并赋初值的方式,利用结构体变量存储了一名学生的学号、姓名和3门课的成绩。函数fun的功能是将该学生的各科成绩都乘以一个系数a。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!/**********Cund**********/voidmodify(STU*ss,floata){inti;fbr(i=O;i<3;i++)/**********%und**********/ss->score[i]*=a;main(){STUstd={l,"ZhanghuaH,76.5,78.0,82.0};floata;printf(M

12Theoriginalnumberandnameandscores:

13");show(std);printf(H

14Inputanumber:”);scanff%f\&a);modify(&std,a);改错题longfiin(intk)

15/************************/if(k>0)return(k*fiin(k-l));/************f^Qund************/elseif(k==0)程序编写程序定义了NXN的二维数组,并在主函数中自动赋值。请编写函数fun(inta口[N],intn),函数的功能是:使数组左下三角元素中的值乘以n。例如:若n的值为3,a数组中的值为则返回主程序后a数组中的值应为o注意:部分源程序存在文件PROGl.C文件中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。inti,j;fbr(i=0;inext;/**********und**********/while(q){if(p->data>q->data){t=p->data;p->data=q->data;q->data=t;}q=q->next;}p=p->next;改错题给定程序MOD"。C中函数fun的功能是:将s所指字符串中的字母转换为按字母序列的后续字母(但Z转换为A,z转换为a),其它字符不变。请改正函数firn中指定部位的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!/**********^Qund***********/while(*s){if(*s>-A*&*s<-Zf||*s>-a*&&*s<-z,){ifi[*s=,Z,)*s='A';

16elseif(*s='zf)*s=,a,;else*s+=1;S-H-;程序编写标从。到p(含p,p小于等于n-1)的数组元素平移到数组的最后。例如,一维数组中的原始内容为:1,2,3,4,5,6,7,8,9,10;p的值为3。移动后,一维数组中的内容应为:5,6,7,8,9,10,1,2,3,4。注意:部分源程序存在文件PROG1.C文件中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。(inti,j=0,b[N];for(i=p+1;i

17注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!fbr(i=2;i<=m;i++)/**********治und**********/t=t-1.0/i;/**********nd**********/returnt;程序编写请编写一个函数,函数的功能是删除字符串中的所有空格。例如,主函数中输入"asdafaaz67",则输出为"asdafaaz67"。注意:部分源程序存在文件PROG1.C文件中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。char*p=str;inti=0;while(*p){if(*p!=i)str[i++]=*p;p++;str[i]=0;第11题填空题给定程序中,函数fun的功能是将带头结点的单向链表逆置。即若原链表中从头至尾结点数据域依次为:2、4、6、8、10,逆置后,从头至尾结点数据域依次为:10、8、6、4、2;请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1。C中,不得增行或删行,也不得更改程序的结构!/********************/p=h->next;/**********Cund**********/if(p=0)return;q=p->next;p->next=NULL;while(q){r=q->next;q->next=p;/**********%und**********/P=q;q=r;改错题给定程序MODILC中函数fun的功能是:计算s所指字符串中含有t所指字符串的数目,并作为函数值返回。请改正函数fun中指定部位的错误,使它能得出正确的结果;

18注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。/*********f^jund**********/while(*r)if(*r=*p){什+;p-H-;}elsebreak;/*********fbund**********/if(*r==0)程序编写请编写函数fun,函数的功能是:将放在字符串数组中的M个字符串(每串的长度不超过N),按顺序合并成一个新的字符串,函数fun中给出的语句仅供参考;例如,字符串数组中的M个字符串为AAAABBBBBBBCC则合并后的字符串的内容是:AAAABBBBBBBCCo提示:strcat(a,b)的功能是将字符串b复制到字符串a的串尾上,成为一个新串。注意:部分源程序存在文件PROG1.C中。请勿改动主函数main和其它汉书中的任何内容,仅在函数firn的花括号中填入你编写的若干语句。{/*以下代码仅供参考*/inti;*b=0;fbr(i=0;inext;p->next=NULL;while(q){/**********Gund**********/

19r=q->next;q->next=p;p=q;/**********Cund**********/q=r;改错题给定程序MOD11.C中,函数fbn的功能是:将s所指字符串中位于奇数位置的字符或ASCII码为偶数的字符放入t所指数组中(规定第一个字符放在第0位中);例如:字符串中的数据为:AABBCCDDEEFF,则输出结构应该是:ABBCDDEFF;请改正函数fun中指定部位的错误,是它能得出正确的结果,注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!/***********d**********/ifU%2||s[i]%2==0)tU++]=s[i];/***********Cund**********/tm=xr;程序编写请编写函数fun,函数的功能是:将M行N列的二维数组中的数据,按列的顺序依次放到一维数组中,函数ftm中给出的语句仅供参考。例如:二维数组中的数据为:333333334444444455555555则一维数组中的内容应该是:334455334455334455334455注意:部分源程序在文件PROGLC中。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。/*以下代码仅供参考*/intij,np=0;/*np用作b数组下标*/fbr(i=0;i

20请在程序的F划线处填入正确的内容并把卜划线删除,使程序得出正确的结果:注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!/**********Cund**********/double(*f)();doublerl,r2;/********************/f=fl;/*pointfbuntionfl*/rl=f(a);/*♦♦♦******f^)und**********/f=f2;/*pointfbuntionf2*/改错题给定程序MODI1.C是建立一个带头结点的单向链表,并用随机函数为各结点赋值。函数fun的功能是将单向链表结点(部包括头结点)数据域为偶数的值累加起来,并且作为函数值返回。请改正函数fun中指定部位的错误,使它能够得出正确的结果;注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!/***********Cund**********/p=h->next;while(p){if{p->data%2=0)sum+=p->data;/***********^Qund**********/p=p->next;程序编写请编写函数fun,函数的功能是:判断字符串是否为回文?若是,函数返回1,主函数中输出:YES,否则返回0,主函数中输出:NO,回文是指顺读和倒读都一样的字符串。例如:字符串LEVEL是回文,而字符串123312就不是回文。注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其他函数种的任何内容,仅在函数fun的花括号中填入你编写的若干语句。intfun(char*str)]inti,j=strlen(str);for(i=0;i

21注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!while(!feof(fp)){fread(&n,sizeofifSTU),1,fp);/**********f^ound**********/if(n.sno=sno)break;}if(!feofi(fp)){for(i=0;i<3;i-H-)n.score[i]+=3;/**********^Qund**********/fseek(fp,-lL*sizeof(STU),SEEK_CUR);改错题给定程序MODI1.C中函数fun的功能是:利用插入排序法对字符串中的字符按从小到大的顺序进行排序。插入法的基本算法是:先对字符串中的头两个元素进行排序,然后把第三个字符插入到前两个字符中,插入后前三个字符依然有序;再把第四个字符插入到前三个字符中,一待排序的字符串已在主函数中赋予。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!/**********心un(j**********/n=strlen(aa);fbr(i=l;is;STREC*p;p=h->next;while(p){ifi[p->s>max)max=p->s;p=p->next;returnmax;第16题填空题给定程序中,函数fiin的功呢功能是:求出形参ss所指字符串数组中最长字符串的长度,将其余字符串右边用字符*补齐,使其马最长的字符串等长。ss所指字符串驻足中共有M个字符串,且串长

22注意:源程序存放在考生文件夹下的BLANK1.C中;不得增行或删行,也不得更改程序的结构!/**********found**********/n=strlen(ss[i]);for(j=O;j

23请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!/********************/structstudentt;inti,j;/**********Cund**********/fbr(i=0;i0)改错题给定程序MODH.C中fun函数的功能是:在p所指字符串中找出ASCII码值最大的字符,将其放在第一个位置上;并将该字符的原字符向后顺序移动。例如:调用fun函数之前给字符串输入:ABCDeFGH.调用后字符串中的内容为:eABCDFGH.请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!/**********Cund**********/q=p+i;)i++;while(q>p)程序编写学生的记录山学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把指定分数范围内的学生数据放在b所指的数组中,分数范围内的学生人数山函数值返回。例如,输入的分数是6069,则应当把分数在60到69的学生数据进行输出,包含60分和69分的学生数据。主函数中将把60放在low中,把69放在heigh中。注意:部分源程序在文件PROG1.C文件中。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。intftin(STREC*a,STREC*b,int1,inth)intij=O;fbr(i=0;i=1&&a[i].s<=h)b[j++]=a[i];returnj;第18题填空题给定程序中,函数fun的功能是:将形参s所指字符串中的所有字母字符顺序前移,其他字符顺序后移,处理后新字符串的苜地址作为函数值返回。例如,s所指字符串为:asdl23fgg543df,处理后新字符串为:asdfghdfl23543。

24请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!/**********Cund**********/t[i]=s[i];j++;}else{p[k]=s[i];k++;}/********************/fbr(i=O;i

25不得增行或删行,也不得更改程序的结构!/********************/structstudent*fun(structstudent*a){inti;a->sno=10002;strcpy(a->name,nLiSiH);/**********%und**********/for(i=0;i<3;i++)a->score[i]+=1;/********************/returna;改错题给定程序MODI1.C中函数fun的功能是:从N个字符串中找出最长的那个串,并将其地址作为函数值返回。各字符串在主函数中输入,并放入一个字符串数组中。请改正程序中的错误,使程序能输出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。/**********nd**********/char*fiin(char(*sq)[M]){inti;char*sp;sp=sq[O];fbr(i=0;i

26请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!/♦*********^QUntj**********yfbr(i=0;i

27tot+=a[M-l][i];}fbr(i=1;i

28第21题填空题给定程序中,函数fun的功能是:计算形参x所指数组中N个数的平均值(规定所有数均为正数),将所指数组中大于平均值的数据移至数组的前部,小于等于平均值的数据移至x所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。例如:有10个正数:4630324061745154826,平均值为:30.500000移动后的输出为:4632404548306171526请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件下的BLANK1.C中。不得增行或删行,也不得修改程序的结构!/**********d**********/av=s/N;fbr(i=j=O;iav){/**********^Qund**********/y[j++]=x[i];x[i]=-l;}fbr(i=O;i请改正程序中的错误,使程序能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得修改程序的结构!/************************/#include/************f^Qund************/upfst(char*p)程序编写程序定义了NXN的二维数组,并在主函数中赋值。请编写函数fun,函数的功能是:求出数组周边元素的平均值作为函数值返回给主函数中的s例如:数组中的值为则返回主程序后S的值应为:3.375。注意:部分源程序在文件PROG1.C中。请勿改动主函数fun和其它函数中的任何内容,仅在函数ftin的花括号中填入你编写的若干语句。inti,j,n=O;doublesum=0;for(i=0;i

29sum+=w[i][O]+w[i][N-l];n+=2;)returnsum/n;)第22题填空题给定程序中,函数firn的功能是:将自然数1~10以及它们的平方根写到名为myfile3.txt的文本文件中,然后再顺序读出显示在屏幕上。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!/**********^Qund**********/fprintf(^),w%d%f

30n,i,sqrt((double)i));printfi(H

31Succeed!!

32M);/**********治und**********/fclose(fp);printf(H

33Thedatainfile:

34n);/********************/if((fp=fbpen(fname,"r"))=NULL)改错题给定程序MODI1.C中fun函数的功能是:将n个无序数从小到大排序。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!/************************/for(i=j+l;ia[i])/************f^und************/P=i;程序编写函数fun的功能是:将两个两位数的正整数a、b合并形成一个整数放在c中,合并的方式是:将a数的十位数和个位数依次放在c数的个位和百位上,b数的十位和个位数依次放在c数的十们和千位上。例如,当a=45,b=12时,调用该函数后,c=2514o注意:部分源程序存在文件PROG1.C中。数据文件IN.DAT中的数据不得修改。请勿改动主函数main和其它函数中的任何内容,仅在函数fiin的花括号中填入你编写的若干语句。voidfun(inta,intb,long*c)♦c=(b%10)*1000+(a%10)*100+(b/10)*10+(a/10);第23题填空题给定程序中,函数ftin的功能是:找出NXN矩阵中每列元素中的最大值,并按顺序依

35次存放于形参b所指的一维数组中。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!fprintf(fp,"%d%f

36",i,sqrt((double)i));printf("

37Succeed!!

38");/**********%und**********/fclose(fp);printfi["

39Thedatainfile:

40");if((fp=fopen(fhame,"r"))=NULL)改错题给定程序MODU.C中函数ftin的功能是:交换主函数中两个变量的值。例如:变量a中的值原为8,b中的值原为3,程序运行后a中的值为3,b中的值为8。请改正程序中的错误,使它能计算出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!/************nd************/for(i=j+l;ia[i])/************************/P=i;程序编写编写函数fUn,函数的功能是求出小于或等于lim的所有素数并放在aa数组中,函数返回所求出的素数的个数。函数fUn中给出的语句仅供参考。注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。voidfun(inta,intb,long*c)*c=(b%10)*1000+(a%10)*100+(b/10)*10+(a/10);第24题填空题程序通定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。函数fun的功能是将形参a中的数据进行修改,把修改后的数据作为函数值返回主函数进行输出。例如:传给形参a的数据中,学号、姓名、和三门课的成绩依次是:10001、"ZhangSan"、95、80、88,修改后的数应为:1002、"LiSi"、96、81、89。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!/********************/structstudentfun(structstudenta){inti;

41a.sno=10002;/**********Cund**********/strcpy(a.name,nLiSiH);/**********found**********/for(i=0;i<3;i++)a.score[i]+=1;改错题假定整数数列中的数不重更,并存放在数组中。给定程序MODI1.C中函数fun的功能是;删除数列中值为x的元素。n中存放的是数列中元素的个数。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更程序的结构。if(p=n)return-1;else{for(i=p;ia[i].s){j=0;b[j++]=a[i];min=a[i].s;)elseiflfmin==a[i].s)b[j++]=a[i];}returnj;}第25题填空题人员的记录由编号和出生年、月、日组成,N名人员的数据已在主函数中存入结构体数组std中,且编号唯一。函数hm的功能是:找出指定编号人员的数据,作为函数值返回,由主函数输出,若指定编号不存在,返回数据中的编号为空串。

42注意:源程序存放在考生文件夹的BLANK1.C中。不得增行或删行,也不得更改程序结构!/********************/STUfun(STU*std,char*num){inti;STUa={"",9999,99,99};for(i=0;i

43请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中.不得增行或删行,也不得更改程序结构!s=0;fbr(i=l;i<=n;i++){t=2.0*i;/**********%und**********/s=s+(2.0*i-1)*(2.0*i+1)/(t*t);改错题给定程序MODI1.C中函数fun的功能是:统计substr所指字符串在str所指字符串中出现的次数。例如,若字符串为aaaslkaaas,子字符串为as,则应输出2。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!/************8und************/fbr(i=0;str[i];i++)fbr(j=i,k=O;substr[k]=str[j];k++j-H-)/************************/if(substr[k+l]=^)程序编写请编写一个函数fun,它的功能是:根据以下公式求人的值(要求满足精度0.0005,即小于0.0005时停止迭代):n11x21x2x3”2x3x4”2x…xn-=]+_+__+-—+...+233x53x5x73x5、7x93x5x...x(2n+l)程序运行后,如果输入精度0.0005,则程序输出为:3.14-0注意:部分源程序存放在文件PROGC中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的化括号中填入你所编写的若干语句。doublefiin(doubleeps)(doubles=l,t=l/3;intn=l;while(t>=eps){s+=t;n++;t=t*n/(2.0*n+l);}return(s*2.0);)第28题填空题给定程序中,函数fun的功能是:统计形参s所指字符串中数字字符出现的次数,并存放在形参t所指的变量中,最后在主函数中输出。例如,形参s所指的字符串为:abcdef35adgh3kjsdf7.输出结果为:4

44请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中.不得增行或删行,也不得更改程序结构!/**********Cund**********/fbr(i=0;s[i]!=NULL;i-H-)/**********found**********/ifl[s[i]>=,O,&&s[i]<=n++;/**********nd**********/*t=n;改错题给定程序MODI1.C中函数ftm的功能是:通过某种方式实现两个变量值的交换,规定不允许增加语句和表达式。例如变量a中的值原为8,b中的值原为3,程序运行后a中的值为3,b中的值为8。请修改程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!/****************************/retum(t);程序编写请编写函数fun,它的功能是:求出1至IJ100之间能被7或11整除、但不能同时被7和11整除的所有整数并将它们放在a所指的数组中,通过n返回这些数的个数。注意:部分源程序存放在文件PROGC中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的化括号中填入你所编写的若干语句voidfun(int*a,int*n)inti;♦n=0;fbr(i=7;i<1000;i++)if(((i%7)==0||(i%11)=0)&&(i%77)!=0)a[(*n)++]=i;第29题填空题程序通过定义学生结构体变量,存储了学生的学号,姓名和3门课的成绩。函数ftm的功能是对形参b所指结构体变量中的数据进行修改,最后在主函数中输出修改后的数据。例如:b所指变量t中的学号、姓名、和3门课的成绩依次是:10002、"ZhangQi"、93、85、87,修改后的数据应为10004,"LiJie",93、85>87.请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中.不得增行或删行,也不得更改程序结构!/**********d**********/b->sno=10004;

45strcpy(b->name,HLiJien);main(){structstudentt={10002,nZhangQi",93,85,87};inti;printf(M

46

47Theoriginaldata:

48M);printf(M

49No:%ldName:%s

50Scores:H,t.sno,t.name);for(i=0;i<3;i++)printf(M%6.2f",t.score[i]);printf(,,

51M);/**********d**********/改错题给定程序MODILC中函数fun的功能是:应用递归算法求形参a的平方根。求平方根的公式如下:例如,a为2时,平方根值为:1.414214。请修改程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!/********************/doublefun(doublea,doublexO){doublexl,y;x1=(x0+a/x0)/2.0;/********************/fabs(xl-x0)>0.00001)程序编写学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fim,它的功能是:把高于等于平均分的学生数据放在b所指的数组中,高于等于平均分的学生人数通过形参n传回,平均分通过函数值返回。注意:部分源程序存放在文件PROGC中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的化括号中填入你所编写的若干语句。doublefun(STREC*a,STREC*b,int*n)doublet=0;inti;*n=0;fbr(i=0;it)b[(*n)++]=a[i];returnt;第30题填空题程序通过定义学生结构体变量,存储了学生的学号、姓名和3站课的成绩。函数fun的功能是将形参a所指结构体变量中的数据赋给函数中的结构体变量b,并修改b中的学号和姓名,最后输出修改后的数据。例如:a所指变量中的学号、姓名、和三门课的成绩依次是:1001、"ZhangSan"、95、80、88,

52则修改后输出b中的数据应为:1002,"LiSi",95、80、88。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!/**********d**********/b=a;b.sno=10002;/**********nd**********/strcpy(b.name,MLiSiH);printf(M

53Thedataaftermodified:

54");printfi(H

55No:%ldName:%s

56Scores:",b.sno,b.name);/**********治und**********/for(i=0;i<3;i++)printf("%6.2f",b.score[i]);改错题给定程序MODI1.C中函数fUn的功能是:从s所指字符串中删除所有小写字母Co请改正程序中的错误,使它能计算出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!/************砧und************1c/s[j-H-]=s[i];/************found************/sUHO';程序编写假定程序的字符串中只包含字母和*号。请编写函数fun,它的功能是:将字符串中的前导*号全部移到字符串的尾部。函数fim中给出的语句仅供参考。例如,字符串中的内容为:*******A*BC*DEF*G****,移动后,字符串中的内容应当是:A*BC*DEF*G***********。在编写函数时,不得使用C语言提供的字符串函数。注意:部分源程序在文件PROG1.C文件中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。voidfun(char*a)/*以下代码仅供参考*/char*p,*q;intn=0;P=a;while(*p=,*t)/♦统计串头”个数n*/{n++;p++;}q=a;/*向前复制字符串,请填写相应的语句完成其功能*/while(*p){*q=*p;p++;q++;}

57fbr(;n>O;n—)/*在串尾补n个“*/*q++=*;*q='\0';第31题填空题给定程序中,函数fun的功能是:对形参s所指字符串中下标为奇数的字符按ASCH码大小递增排序,并将排序后下标为奇数的字符取出,存入形参P所指字符数组中,形成一个新串。例如,形参S所指的字符串为:baawrskjghzlicda,执行后P所指字符数组中的字符串应为:aachjlswo请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中,不得增行或删行,也不得更改程序的结构!/********************/t=i;/********************/fbr(j=i+2;jvn;j弓+2)if(s[t]>s[j])t=j;if(t!=i){x=s[i];s[i]=s[t];s[t]=x;}}fbr(i=lj=O;i=num)(pi=pi4-1;n=n+2;t=s/n;程序编写请编定一个函数voidfun(chara口,charb[],intn),其功能是:删除一个字符串中指定下标的字符。其中,a指向原字符串,删除指定字符后的字符串存放在b所指的数组中,n中存放指定的下标。例如,输入一个字符串:world,然后输入3,则调用该函数后的结果为:wordo注意:部分源程序在文件PROG1.C中。

58请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。voidfun(chara[],charb[],intn)stmcpy(b,a,n);b[n]=0;strcat(b,a+n+1);第33题填空题给定程序的功能是:调用函数fun将指定源文件中的内容复制到指定的目标文件中,复制成功时函数返回值为1,失败时返回值为0。在复制的过程中,把复制的内容输出到终端屏幕。主函数中源文件名放在变量sfhame中,目标文件名放在变量tfname中。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件下的BLAN1.C中,不得增行或删行,也不得更改程序的结构!/**********心un(j**********/if((fs=fbpen(source,nrn))==NULL)return0;ifi[(ft=fbpen(target,HwH))=NULL)return0;printf(M

59Thedatainfile:

60M);ch=fgetc(fs);/**********^Qund**********/while(!feofi(fs)){putchar(ch);/**********治und**********/fputc(ch,ft);改错题给定程序MODI1.C中函数fun的功能是:将长整型数中每一位上为偶数的数依次取出,构成一个新数放在t中。高位仍在高位,低位仍在低位。例如,当s中的数为:87653142时,t中的数为:8642。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!/************砧und************/if(d%2==0){*t=d*sl+*t;si*=10;)s/=10;程序编写函数ftm的功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a整数的十位和个位数依次存放在c数的十位和千位上,b数的十位和个位数依次放在c

61数的百位和个位上。例如,当a=45,b=12时,调用该函数后,c=5142=注意:部分源程序存放在文件PROG1.C中,数据文件IN.DAT中的数据不得修改。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号填入你编写的若干语句。voidfun(inta,intb,long*c)(*c=(a%10)*1000+(b/10)*100+(a/10)*10+(b%10);Imain(){inta,b;longc;printff'Inputa,b:");scanf("%d,%d",&a,&b);fiin(a,b,&c);printff'Theresultis:%ld

62",c);NONO();}第34题填空题用筛选法可得到2〜n(n<10000)之间的所有素数,方法是:首先从素数2开如,将所有2的倍数的数从数表中删去(把数表中相应位置的值置成0);接着从数表中找下一个非0数,并从数表中删去该数的所有倍数;依此类推,直到所找的下一个数等于n为止,这样会得到一个序列:2,3,5,7,11,13,17,19,23函数fun用筛选法找出所有小于等于n的素数,并统计素数的个数作为函数值返回。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中,不得增行或删行,也不得更改程序的结构!/**********Cund**********/for(j=a[i]*2;j<=n;j+=a[i])a[j]=0;i++;/**********心un(j**********/while(a[i]==0)i++;printf(H

63Theprimenumberbetween2to%d

64n,n);for(i=2;i<=n;i-H-)/********************/if(a[i]!=0)改错题给定程序MODH.C中函数fun的功能是:为一个偶数寻找两个素数,这两个素数之和等于该偶数,并将这两个开绿灯数通过形参指针传回主函数。请改正函数fun中指定部位的错误,使它能得出正确的结果。

65注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!y=i;fbr(j=2;j<=sqrt((double)i)j-»-+)if(i%j=O)y=0;ifly=i){/**************^Qund**************/d=a-i;程序编写请编写函数ftm,它的功能是;计算并输出n(包括n)以内能被5或9整除的所有自然数的倒数之和。例如,在主函数中从键盘给n输入20后,输同为:s=0.583333。注意:要求n的值不大于100。部分源程序在文件PORG1.C中。请勿改动主函数main和其他函数中的任何内容,仅在函数fiin的花括号内填入你编写的苦干语句。doublefun(intn){inti;doublesum=0.0;fbr(i=l;i<=n;i++)ifi(i%5=0||i%9==0)/*被5或9整除*/sum+=1.0/i;returnsum;}main(){intn;doubles;printf(H

66Inputn:");scanf(M%d",&n);s=fiin(n);printf(H

67

68s=%f

69H,s);NONO();}第35题填空题给定程序中,函数fun的功能是建立一个NXN的矩阵,矩阵元素的构成规律是:最外层元素的值全部为1;从外层向内第二层元素的值全部为2;第3层的值全部为3,…依次类推。例如,若N=5,生成的矩阵为:11111

7012221123211233111111请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!voidfun(int(*a)[N]){intifi(N%2==0)m=N/2;elsem=N/2+l;fbr(i=O;imaxlen){

71maxlen=strlen(a[i]);k=i;*max=a[k];第36题填空题给定程序中,函数fbn的功能是:统计出带有头结点的单向链表中结点的个数,存放在形参n所指的存储单元中。请在程序的F划线处填入正确的内容并把卜.划线删除,使程序得出正胡的结果。注意:源程序存放在考生文件夹下的BLNLC中。不得增行或删行,也不得更改程序的结构!/**********found**********/*n=0;p=h->next;while(p){(%)++;/********************/p=p->next;main(){SLIST*head;inta[N]={12,87,45,32,91,16,20,48},num;head=creatlist(a);outlist(head);/*******************/fiin(head,&num);改错题给定程序MODI1.C中函数fun的功能是:求出a所指字符串最后一次出现的t所指子字符串的地址,通过函数值返回,在主函数中输出从此地址开始的字符串;若未找到,则函数值为NULL»例如,当字符串中的内容为:"abcdabfabcdx",t中的内容为:"ab"时,输出结果应是:abcdx.当字符串中的内容为:"abcdab为bcdx",t中的内容为:"abd"时,则输出未找到信息snotbefound!()请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!/************f^ound************/a=NULL;while(*s){p=s;r=t;while(*r)/************found************/if(*r==*p)程序编写函数fun的功能是:将s所指字符串中除了下标为偶数、同时ASCII码值也为偶数的字

72符外,其余的全部删除;串中剩余字符所形成一个新串存存入在t所指字符数组中。例如,若s所指字符串中的内容为:"ABCDEFG123456",其中字符A的ASCII码值为奇数,因此应当删除;其中字符B的ASCII码值为偶数,但在数组中的下标为奇数,因此也应当删除;而字符2的ASCII码值为偶数,所在数组中的下标也为偶数,国此不应当删除,其它依此类推。最后t所指的数组中的内容应是:“246”。注间:部分源程序存在文件PROG1.C中。请勿改动主函数main和其它函数中的任何内容,仅在函数ftrn的花括号中填入你编写的若干语句。voidfiin(char*s,chart[])inti,j=O;fbr(i=0;i

73Don'tfound!

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

75{j=j+l;月%x;m=j%y;n=j%z;}/************************/returnj;程序编写假定程序的字符串中只包含字母和*号。请编写函数fun,它的功能是:只删除字符串前导和尾部的*号,串中字母之间的*号都不删除,形参n给出了字符串的长度,形参h给出了字符串中前导*号的个数,形参e给出了字符串中最后*号的个数,在编写函数时,不得使用c语言提供的字符串函数。例如,字符串中的内容为:****a*BC*DEF*G*******,删除后,字符串中的内容应当是:A*BC*DEF*G。注意:部分源程序在文件PROG1.C文件中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。voidfun(char*a,intn,inth,inte)char*p=a;intj=O,len=O;while(*p){p++;len++;}while(j

76给定程序M0DI1.C中函数fun的功能是:求出两个非零正整数的最大公约数,并作为函数值返回。例如,若给numl和num2分别输入49和21,则输出的最大公约数为7;若给numl和num2分别输入27和81,则输出的最大公约数为27.请改正程序中的错误,使它能得出正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!/************f^Qund************/t=a;a=b;b=t;r=a%b;while(r!=O){a=b;b=r;r=a%b;}/************************/retum(b);程序编写假定程序的字符串中只包含字母和*号。请编写函数fun,它的功能是:删除字符串中所有*号。在编写函数时,不得使用C语言提供的字符串函数。例如,字符串中的内容为:****A*BC*DEF*G*******,删除后,字符串中的内容应当是:ABCDEFG注意:部分源程序在文件PROG1.C文件中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。voidfiin(char*a)intj=O;char*p=a;while(*p){if(*p!=***)a[j++]=*p;P++;a[j]=O;第39题填空题给定程序中,函数fim的功能是:在形参ss所指字符串数组中,删除所有串长超过K的字符串,函数返回所剩字符串的个娄。ss所指字符串数组中共有N个字符串,且串长小于Mo请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!fdr(i=O;i

77/**********%und**********/strcpy(ss[j++],ss[i]);改错题给定程序MODI1.C中函数fun的功能是:逐个比较p、q所指两个字符串对应位置中的字符,把ASCII值大或相等的字符依次存放到c所指数组中,形成一个新的字符串例如,若主函数中a字符串为:dBCDeFgH,主函数中b字符串为:ABcd,则c中的字符串应为:aBcdeFgHo请改正程序中的错误,使它能得出正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。/************nd************/intk=0;/************8und************/while(*p||*q)程序编写假定程序的字符串中只包含字母和*号。请编写函数fun,它的功能是:除了字符串前导的*号之外,将串中其它*号全部删除。在编写函数时,不得使用C语言提供的字符串函数。函数fun中给出的语句仅供参考。例如,字符串中的内容为:****A*BC*DEF*G*******,删除后,字符串中的内容应当是:****ABCDEFG注意:部分源程序在文件PROG1.C文件中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。voidfun(char*a)/*以下代码仅供参考*/inti=O,k;while(a[i]=,**)i++;k=i;while(a[i]!=N))/*以下程序段实现非*字符前移*/if(a[i]!='*')a[k++]=a[i];i++;a[k]=*\O';第40题填空题给定程序中已建立一个带有头结点的单向链表,链表中的各结点按结点数据域中的数据递增有序链接。函数fun的功能是:把形参x的值放入一个新结点并插入到链表中,插入后各结点数据域的值仍保持递增有序。请在程序的下划线处填入正确的内容并把卜.划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹的BLANK1.C中。不得增行或删行,也不得更改程序的结构!/**********%und**********/s->data=x;q=h;

78p=h->next;while(p!=NULL&&x>p->data){/**********^Qund**********/q=p;p=p->next;}s->next=p;/**********nd**********/q->next=s;改错题给定程序M0DI1.C中函数fiin的功能是:计算正整数num的各位上的数字之积。例如,若输入:252,则输出应该是:20。若输入:202,则输出应该是:0。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。/************************/longk=l;do{k*=num%10;/************f^Qund************/num/=10;程序编写请编写一个函数fim,它的功能是:计算n门课程的平均分,计算结果作为函数值返回。例如:若有5门课程的成绩是:90.5,72,80,61.5,55则函数的值为:71.8o注意:部分源程序存在文件PROG1.C中。请勿改动主函数main和其它函数中的任何内容,仅在函数fbn的花括号中填入你编写的若干语句。floatfiin(float*a,intn)inti;floatave=0.0;fbr(i=O;i

79*av=s/N;d=32767;fbr(i=O;i

80不得增行或删行,也不得更改程序的结构!/********************/t2|j]=s[i];j++;)elsetl[k++]=s[i];t2U]=0;tl[k]=O;/**********Cund**********/fbr(i=O;i0){p=*(pstr+i);/**************8und**************/*(pstr+i)=*(pstr+j);程序编写请编写函数fun,它的功能是:求出ss所指字符串中指定字符串的个数,并返回此值。例如,若输入字符串:123412132,输入字符为:1,则输出:3.注意:部分源程序在文件PROG1.C中.标请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句.intfun(char*ss,charc){intent=0;char*p=ss;while(*p){ifi(*p=c)ent-H-;p++;}returnent;)第43题填空题

81给定程序中,函数fun的功能是:在形参ss所指字符串数组中查找与形参t所指字符串相同的串,找到后返回该串在字符串数组中的位置(下标值),未找到则返回-l°ss所指字符串数组中共有N个内容不同的字符串,且串长小于M。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!/**********Cund**********/fbr(i=O;i

82Theoriginalstring

83

84H);fbr(i=0;i

85”);printfi(H

86Enterastringforsearch:");gets(t);n=fun(ch,t);/********************/if(n==-1)printf<"

87Don'tfound!

88");改错题给定程序MODI1.C中函数firn的功能是:从整数1到55之间,选出能被3整除、且有一位上的数是5的那些数,并把这些数放在b所指的数组中,这些数的个数作为函数值返回。规定,函数中al放个位置,a2放十位数。请更正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。/************************/a2=k/10;al=k-a2*10;iR(k%3==0&&a2=5)||(k%3==0&&a1=5)){b[i]=k;i++;}}returni;程序编写假定输入的字符串中包含字母和*号。请编写函数fun,它的功能是:将字符串尾部的*号全部删除,前面和中间的*号不删除。例如,字符串中的内容为:****A*BC*DEF*G*******,删除后,字符串中的内容应当为:****a*BC*DEF*G。在编写函数时,不得使用C语言提供的字符串函数。

89注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其它函数中的任何内容,仅在函数ftin的花括号中填入你编写的若干语句。voidfun(char*a)char*p=a;while(*p)p++;p-;while(*p='*')p-;p++;*P=0;第44题填空题函数ftrn的功能是进行数字字符转换。若形参ch中是数字字符。〜9,则O转换成9,T转换成8,2转换成79转换成O;若是其它字符则保持不变;并将转换后的结果作为函数值返回。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!/********************/charfiin(charch)/**********3und**********/if(ch>=。&&chv='9')/**********Cund**********/return'9'"(ch-'O');改错题给定程序MODIl.C中函数fun的功能是:将p所指字符串中的所有字符复制到b中,耍求每复制三个字符之后插入一个空格。例如,在给a输入字符串:ABCDEFGHIJK,调用函数之后,字符数组b中的内容则为:ABCDEFGHIJK。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。b[k]=*p;k++;p++;i++;b[k++]='程序编写N名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。请编写函数fun,它的功能是:求出平均分,由函数值返回。例如,若学生的成绩是:85,76,69,85,91,72,64,87,则平均分应当是:78.625.注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。doublefun(STREC*h)

90(STREC*p=h->next;/*由于头结点中没有存放数据*/doubleav=0.0;/*对计算成绩平均值的变量进行初始化*/intn=0;while(p!=NULL){/*判断链表是否结束*/av=av+p->s;/*对成绩进行累加*/p=p->next;/*到下一个结点位置*/n++;/*人数加1*/)av/=n;/*计算成绩平均值*/returnav;/♦返回成绩平均值*/}第45题填空题函数ftin的功能是:把形参a所指数组中的偶数按原顺序依次存放到a[0],a[l],a[2]中,把奇数从数组中删除,偶数个数通过函数值返回。例如:若a所指数组中的数据为:4、2、6、8,返回值为4。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!y**********^QUnc|**********yif(a[i]%2=0){/**********found**********/a[j]=a[i];j++;returnj;改错题给定程序MODI1.C中函数fun的功能是:按以下递归公式求函数值。例如,当给n输入5时,函数值为18;当给n输入3时,函数值为14。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。firn(intn){intc;/************************/if(n=l)程序编写假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:将字符串尾部的*号不得多于n个;若多于n个,则删除多余的*号;若少于或等于n个,则什么也不做,字符串中间和前面的*号不删除。例如,字符串中的内容为:****A*BC*DEF*G*******,若n的值为4,删除后,字符串中的内容应当为:****A*BC*DEF*G****;若n的值为7,则字符串中的内容仍为:****A*BC*DEF*G*******。n的值在主函数中输入。在编写函数时,不得使用C语言提供

91的字符串函数。注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其它函数中的任何内容,仅在函数ftin的花括号中填入你编写的若干语句。voidfun(char*a,intn)char*p=a;intj=O;while(*p)p++;p-;/*字符串的长度*/while(*p='*')p-;/*字符串右的“*/酎+;while(j

92sO=0.0;si=0.0;s2=1.0;for(k=4;k<=n;k++){s=sO+si+s2;sum+=sqrt(s);sO=si;si=s2;s2=s;/************Cund************/returnsum;程序编写编写函数fUn,它的功能是计算下列级数和,和值由函数值返回。例如,当n=10,x=0.3时,函数值为1.349859。注意:部分源程序在文件PROG1.C文件中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。/************************/doublefiin(intn){doublesum,sO,si,s2,s;intk;sum=1.0;if(n<=2)sum=0.0;sO=0.0;si=0.0;s2=1.0;for(k=4;k<=n;k++){s=sO+si+s2;sum+=sqrt(s);sO=si;si=s2;s2=s;/************必und************/returnsum;第47题填空题给定程序中,函数ftm的功能是:找出形参s所指字符串中出现频率最高的字母(不区分大小写),并统计出其出现的次数。例如,形参s所指的字符串为:abcAbsmaxless,程序执行后的输出结果为:请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!/**********^Qund**********/ch=tolower(*s);n=ch-*a*;/**********Gund**********/k[n]+=1;)

93S++;/**********Cund**********/ifl(max

94if(isdigit(*s))sum+=*s-48;/********************/S-H-;/**********found**********/returnsum;改错题给定程序MODI1.C中函数fun的功能是:计算小于形参k的最大的10个能被13或17整除的自然数之和。k的值由主函数传入,若k的值为500,则函数值为4622。请改正程序中的错误,使程序能输出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!/************f^ound************/if((k%13==0)||(k%17=0)){m=m+k;mc++;}k--;returnm;/************f^ound************/程序编写编写函数fun,它的功能是:求小于形参n同时能被3与7整除的所有自然数之和的平方根,并作为函数值返回。例如若n为1000时,程序输出应为:s=l53.909064»注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。doublefun(intn){doublesum=0.0;inti;fbr(i=21;i<=n;i++)if((i%3=0)&&(i%7=0))sum+=i;returnsqrt(sum);第49题填空题给定程序中,函数firn的功能是:将形参s所指字符串中所有ASCH码值小于97的字符存入形参t所指字符数组中,形成一个新串,并统计出符合条件的字符个数作为函数值返回。例如,形参s所指的字符串为:Abc@lx56*,程序执行后t所指字符数组中的字符串应为:A@156*,请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!/********************/*(t+n)=*s;n-H-;}

95S-H-;*(t+n)=O;/**********^Qund**********/returnn;改错题给定程序MODI1.C中函数fun的功能是:由形参给定n个实数,输出平均值,并统计在平均值以上(含平均值)的实数个数。例如,n=8时,输入:193.199,195.673,195.757,196.051,196.092,196.596,196.579,196.763所得平均值为:195.838745,在平均值以上的实数个数应为:5请改正程序中的错误,使程序能输出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!/************f^ound************/intj,c=0;floatxa=0.0;fbr(j=O;j

96n,xa);for(j=O;j=xa)程序编写编写函数ftm,其功能是:根据以下公式求P的值,结果由函数值带回。m与n为两个正整数且要求m>n。例如:m=12»n=8时,运行结果为495.000000。注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。floatfun(intm,intn)(floatp;p=1.0*jc(m)/jc(n)/jc(m-n);returnp;I第50题填空题给定的程序中,函数fiin的功能是:有NXN矩阵,以主对角线为对称线,对称元素相加并将结果存放在左下三角元素中,右上三角元置素为0,例如,若N=3,有下列矩阵:123456789计算结果为:100650

9710149请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件下的BLANK1.C中.不得增行或删行,也不得更改程序的结构!voidfun(int(*t)[N]){inti,j;fbr(i=l;i

98给定程序中,函数fun的功能是:计算出形参s所指字符串中包含的单词个数,作为函数值返回。为便于统计,规定各单词间用空格隔开。例如,形参s所指的字符串为:ThisisaClanguageprogram.,函数的返回值为6。请在程序的下划线处填入正确内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件下的BLANK1.C中。不得增行或删行,也不得更改程序结构!/********************/n++;flag=1;}/********************/if(*s=f')flag=0;/**********d**********/s++;改错题给定程序MOD1l.C中函数fun的功能是:从n(形参)个学生的成绩中统计出平均分的学生人数,此人数由函数值返回,平均分存放在形参aver所指的存储单中。例如,若输入8名学生的成绩:80.5607290.59851.58864则低于平均分的学生人数为:4(平均分为:75.5625)«请改正程序中的错误,使它能统计出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!/****************************/t+=s[k];ave=t/n;fbr(i=0;i

99}*k=pos;I第52题填空题给定的程序中,函数ftin的功能是:有NXN矩阵中元素的值按列右移1个位置,右边被移出矩阵的元素绕回左边。例如,若N=3,有下列矩阵:123456789计算结果为:20065010149请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件下的BLANK1.C中.不得增行或删行,也不得更改程序的结构!for(i=0;i=l;j-)t[i]U]=t[i]U-l];/**********^Qund**********/t[i][0]=x;改错题给定程序MODI1.C中函数ftin的功能是:计算并输出下列级数的前n项之和N,直到N+1大于q为止,q的值通过形参传入。和例如,若q的值为:50.0,则函数值为:49.394948o请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!/************************/s=s+(n+l.)/n;n++;printa"n=%d

100",n);/************^Qund************/returnt;程序编写编写函数ftin,它的功能是:求Fibonacci数列中大于t的最小一个数,结果由函数返回。其中Fibonacci数列F(n)的定义为:F(0)=0,F(l)=lF(n)=F(n・l)+F(n-2)

101例如,当t=1000时,函数值为:1597注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你所编写若干语句。intfun(intt)intfO=O,fl=l,fdo{f=fD+fl;fO=fl;fl=f;}while(f=le-6);改错题给定程序MODI1.C中函数的功能是:求整数x的y次方的低3的位值。例如,整数5的6次方为15625,此值的低3位值为625。请改正函数fun中指定部位的错误,使它能够得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序/**************8und**************/fbr(i=1;i<=y;i++)t=t*x;*p=t;/**************Sund**************/t=t%1000;程序编写请编写函数firn,其功能是:计算并输出当x<0.97时下列多项式的值,直到ISn-Sn-lI<0.000001为止.

102例如,在主函数中从键盘给x输入0.21后,输出为:s=1.100000。注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句doublefiin(doublex)intn=l;/*循环计数*/doublesn=l;/*累计数*/doublexn=l,xnl=0;/*x的n值,以及x的n-1值;*/while(fhbs(xn-xnl)>=0.000001)/*绝对值是否满足条件*/xn=xn*x*(0.5-n+l)/n;/*表达式分解以后xn=(xn-l)*x*(0.5-n+l)/n*/n+=l;sn+=xn;/*sn累力□上xn*/)retum(sn);I第54题填空题给定程序中,函数fun的功能是:计算带有头结点的单向链表中各结点数局域中值之和作为函数值返回;请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1。C中;不得增行或删行,也不得更改程序的结构!/**********治und**********/s+=p->data;/**********nd**********/p=p->next;}returns;}main(){SLIST*head;inta[N]={l2,87,45,32,91,16,20,48};head=creatlist(a);outlist(head);/*******************/printfl["

103sum=%d

104",fim(head));改错题给定程序MODIloC中函数ftm的功能是:将s所指字符串出现的与tl所指字符串相同的子串全部替换成t2所指字符串,所形成的新串放在w所指的数组中。在此处,要求tl和t2所指字符串的长度相同。例如,当s所指字符串的内容为:"abcdabfab",tl所指子串中的内容为:"ab",t2所指子串中的内容为:"99"时,结果在w的所指的数组中的内容应为"99cd99f99"。请改正程序中的错误,使它能够得出正确的结果。

105注意:不要改动main函数,不得增行或删行,也不得更改程序/************************/while(*r)if(*r=*p){r++;p++;}elsebreak;if(*r=、O'){a=w;r=t2;while(*r){/************found************/*a=*r;a++;rH-;程序编写函数fun的功能是:将s所指字符串中下标为偶数的字符删除,申中剩余字符形成的新串放在t所指数组中。例如,当s所指字符串中的内容为:“ABCDEFGHIJK”,在t所指数组中的内容应是:"BDFHJ”。注意:部分源程序存在文件RPOG1.C中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若千语名。voidfiin(char*s,chart[])inti,j=O;fbr(i=1;i

106请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行和删行,也不得更改程序的结构!/**************8und**************/doublefun(intn){inta=2,b=1,c,k;doubles=0.0;for(k=1;k<=n;k-H-){s=s+1.0*a/b;/**************fV)und**************/c=a;a+=b;b=c;程序编写请编写函数fun,函数的功能是:将大于表参m且紧靠m的k个数存入xx所指的数组中.例如,若输入17,5,则应输出:19,23,29,31,37。函数fun中给出的语句仅供参考。注意:部分源程序存在文件progl.c文件中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号内填入你编写的若干语句。voidfun(intm,intk,intxx[])/*以下代码仅供参考*/inti,j=l,t=m+l;while(j<=k)/*以下完成判断素数,并存放到数组xx中*/fbr(i=2;i

107Enterstringwith-1toend:

108n);gets(str);while(strcmp(str,,,-l,,)!=O){

109/********************/fputs(str,fw);fputs(H

110n,fw);gets(str);voidReadText(FILE*fr){charstr[81];printff'

111Readfileandoutputtoscreen:

112n);fgets(str,81,fr);while(!feof(fr)){printf(w%sM,str);改错题给定程序MODILC中函数ftm的功能是:从低位开始取出整型变量s中奇数位上的数,依次构成一个新数放在t中。高位仍在高位。低位仍在低位。例如,当s中的数为:7654321时,t中的数为:7531o请改正程序中错误,使它能得出正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序结构!#include/************nd************/voidfun(longs,long*t){longsl=10;*t=s%10;while(s>0){s=s/100;*t=s%10*si+*t;/************************/si=si*10;程序编写函数fim的功能是:将两个两位数的正整数a、b合并成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的个位和百位上,b数的十位和个位依次放在c数的千位和十位上。例如,当a=45,b=12时,调用该函数后,c=1524o注意:部分源程序在文件PROG1.C中。数据文件IN.DAT中的数据不得修改。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。voidfun(inta,intb,long*c){♦c=(b/10)*1000+(a%10)*100+(b%10)*10+(a/10);}第57题填空题函数ftrn的功能是:把形参a所指数组中最小值放在元素a[0]中,接着把形参a所指数组中的最大值放在a[l]元素中;再把a所指数组中的次小值放在a[2]中;再把a所指数组中的次大值放在a[北其余以此类推。例如:若a所指数组的数据最初排列为:9、1、4、2、3,6、5、8、7;

113则按规则移动后,排列为:1、9,2、8、3、7、4、6、5,形参n中存放a所指数组中数据个数。注意:规定ftin函数中的max存放当前找的最大值,px存放当前所找最大值的下标。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹的BLANKSC中。不得增行或删行,也不得更改程序结构!/**********Cund**********/max=min=a[i];px=pn=i;for(j=i+l;ja[j])改错题给定程序MODI1.C中函数ftm的功能是:用递归算法计算斐波拉契数列中第n项的值。从第一项起,斐波拉契数列为1、1、2、3、5、8、13、21、……例如,若给n输入7,该项的斐波拉契数值为:13。请改正程序中的错误,使它能得出正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序结构!switch(g){case0:return0;/**********Cund**********/case1:return1;case2:return1;程序编写某考生的记录由学号、8门课程成绩和平均分组成,学号和8门课程的成绩已在主函数中给出。请编写函数fun,它的功能是:求出该学生的平均分放在记录的ave成员中。例如,学生的成绩是:85.5,76,69.5,85,91,72,64.5,87.5,他的平均分应当是:78.875。注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其它函数中的任何内容,仅在函数ftin的部位中填入你编写的若干语句。voidfiin(STREC*a)inti;fbr(i=0;iave=a->ave+a->s[i];a->ave/=N;第58题填空题给定程序中,函数fim的功能是:把形参s所指字符串中最右边的n个字符复制到形参t所指字符数组中,形成一个新串,若s所指字符串的长度小于n,则将整个字符串复制到形参t所指字符数组中。

114例如,形参s所指字符串为:abcdefgh,n的值为5,程序执行后t所指字符数组中的字符串

115应为:defjgh0请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!改错题给定程序MODI1.C中函数Am的功能是:找出一个大于形参且紧随m的素数,并作为函数值返回。请改正程序中的错误,使它能得出正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序结构!程序编写请编写函数fUn,函数的功能是:求出能整除形参x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。例如,若x中的值为:35,则有4个数符合要求,它们是:1,5,7,35o注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其它函数中的任何内容,仅在函数ftin的花括号中填入你编写的若干语句。第59题填空题给定程序中,函数fun的功能是:在3X4的矩阵中找出在行上最大,在列上最小的那个元素,若没有符合条件的元素则输出相应信息。例如:有下列矩阵:13109程序的执行结果为:find:a[2][2]=9请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹的BLANK1.C中。不得增行或删行,也不得更改程序结构!/**********j^)und**********/rmax=a[i][j];c=j;}find=l;k=0;while(k

116H,i,c,a[i][c]);/**********Cund**********/i++;改错题给定程序M0DI1.C中函数fun的功能是:根据整型形参m的值,计算如下公式的值。t=l-

1172*23*3例如,若m值为5,则应输出:0.536389请改正程序中的错误,使它能得出正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序结构!/**************Cund**************/fbr(i=2;i<=m;i-H-)/**************^Qund**************/y-=1.0/(i*i);程序编写m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人数作为函数值返回,将低于平均分的分数放在below所指的数组中。例如,当score数组中的数据为:10,20,30,40,50,60,70,80,90时,函数返回的人数应该是4,below中的数据应为:10,20,30,40.注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。intfiin(intscore[],intm,intbelow[])floatav=0.0;inti,j=0;fbr(i=0;iscore[i])below[j4-4-]=score[i];returnj;第60题填空题给定程序中,函数fun的功能是:将形参指针所指结构数组中的三个元素按num成员进行升序排列:请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹的BLANK1.C中。不得增行或删行,也不得更改程序结构!/********************/voidftm(PERSON*std)/**********3und**********/PERSONtemp;if(std[0].num>std[l].num){temp=std[0];std[O]=std[l];if(std[0].num>std[2].num){temp=std[0];std[0]=std[2];if(std[1].num>std[2].num){temp=std[l];std[l]=std[2];std[l]=temp;}std[2]=temp;}std[2]=temp;}main()

118{PERSONstd[]={5,HZhanghuH,2,',WangLiH,6;,LinMinn};inti;/**********Cund**********/fun(std);改错题给定程序MODI1.C中函数fun的功能是:将0)(1W01W10)个字符串连接起来,组成一个新串,放入pt所指存储区中。例如:把3个串:"abc","CD","EF"连接起来,结果是"abcCDEF"。请改正程序中的错误,使它能得出正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序结构!/************************/intk,q,i;for(k=0;k

119/********************/if((ch>=,a,)&&(ch<=,z,))returnch-'a'+'A';if(isuppcr(ch))/**********Cund**********/returnch;/**********found**********/returnch;改错题给定程序MODI1.C中函数fun的功能是:给一维数组a输入任意4个整数,并按卜.列的规律输出:例如输入1、2、3、4,程序运行后将输出以下方阵:4321143221433214请改正函数fun中指定部位的错误,使它得出正确的结果;注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!/****************************/voidfun(int*a){intij,k,m;printf(HEnter4number:**);fbr(i=O;i

120

121Theresult:

122

123M);fbr(i=M;i>0;i—){k=a[M-l];fbr(j=M-lj>Oy-)/****************************/程序编写请编写一个函数ftm,它的功能是:计算并输出给定整数n的所有因子(不包括1与n本身)之和,规定n的值不大于1000;例如:在主函数中从键盘给n输入的值为856,则输出为sum=763;注意:部分源程序在文件PROG1.C中;请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句.intfiin(intn)ints=0,i;fbr(i=2;i

124请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的ELANK1.C中。不得增行或删行,也不得更改程序的结构!/**********found**********/iRn%2==0)k=n-l;elsek=n-2;c=s[k];fbr(i=k-2;i>=l;i=i-2)s[i+2]=s[i];/********************/s[l]=c;改错题给定程序MODI1.C中ftin函数的功能是:求S=aa...aa-...-aaa-aa-a(此处aa…aa表示n个a,a和n的值在1至9之间)例如a=3,n=6,则以上表达式为:8=333333-33333-3333-333-33-3其值是:296298A和n是fun函数的形参,表达式的值作为函数值传回main函数。请改正程序中的错误,使它能计算出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!/**************8und**************/longs=0,t=0;for(j=O;j

125ifi(*p>='a'&&*pv=2)pp[*p-'a*]+=1;p++;第63题填空题给定程序中,函数FUN的功能是:有NXN矩阵,根据给定的(mv=N)值,将每行元素中的值均右移m个位置,左边置为0。例如,N=3,m=2,有下列矩阵程序执行结果为请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中、。不得增行或删行,也不得更改程序的结构!/********************/for(i=0;i=O;j-)/**********心un(j**********/t[i][j+m]=t[i][j];/********************/fbr(j=O;j

126(2)XO=X1,把XI的值赋给X0;(3)Xl=cos(x0),求出一个新的XI;(4)若X0-X1的绝对值小于0.000001,执行步骤(5),否则执行步骤(2);(5)所求XI就是方程cos(x)-x=0的一个实根,作为函数值返回。程序将输出结果Root=0.739085.注意:部分源程序在文件PROG1.C中.请勿改动主函数MAIN和其他函数中任何内容,仅在函数FUN的花括号中填入你编写的若干语句.floatfun()floatx0,x1=0.0;do{x0=xl;xl=cos(x0);}while(fabs(xO-x1)>0.000001);returnxl;)第64题填空题给定程序中,函数firn的功能是:将a所指矩阵中第k列的元素左移到第0歹U,第k列以后每列元素行依次左移,原来左边各裂依次绕到右边。例如,有下列矩阵:123451234512345若k为2,程序执行结果为345123451234512请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中.不得增行或删行,也不得更改程序结构!/**********Cund**********/fbr(p=1;p<=k;p++)for(i=0;i

127改错题给定程序MODI1.C中函数fun的功能是:根据形参m的值(2

128741108521196312请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!voidfun(int(*a)[N],intk){intiJ,temp;/**********%und**********/fbr(i=0;it[j+l])程序编写请编写一个函数fun,其功能是:将ss所指字符串中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换)。例如,若输入"abc4EFg",则应输出"aBc4EFg"。注意:部分源程序在文件PROG1.C文件中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。voidfun(char*ss)char*p=ss;inti=0;while(*p){ifUi%2)&&(*p>=宜&&*pv=2))*p-=32;p++;i++;

129returnss;第66题填空题给定程序中,函数fun的功能是:将形参std所指结构体数组中年龄最大者的数据作为函数值返回,并在main函数中输出。请在程序的下划线处填入正确的内容并把卜一划线删除,使程序得出正确的结果。注意:源程序存放在考生。文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!/**********nd**********/max=*std;fbr(i=l;i

130Theresult:

131M);/**********nd**********/printf)[H

132Name:%s,Age:%d

133H,改错题给定程序M0DI1.C中函数fun的功能是:实现两个整数的交换。例如,给a和b分别输入:60和65,输出为:a=65b=60请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!/**********d**********/voidfun(int*a,int*b){intt;/**********Cund**********/t=*b;*b=*a;*a=t;程序编写请编写一个函数voidfun(inttt[M][n],intpp[N]),tt指向一个M行和N列的二维数组,求出二维数组每列中最小元素,并依次放入pp所指•维数组中,二维数组中的数已经在主函数中赋予。注意:部分源程序存在文件PROG1.C中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。voidfun(inttt[M][N],intpp[N])intij,min,k;fbr(i=0;i

134for(j=1;jtt[j][i]){min=tt[j][i];k=j;}PP[i]=«[k][i];第67题填空题给定程序中,函数fun的功能是:调用随机函数产生20个互不相同的整数放在形参a所指数组中(此数组在主函数中已置为0)。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正角的结果。注意:源程序放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!/**********^Qund**********/while(n

135intfun(intarray[3][3]){intij,arr[3][3];memcpy(arr,array,9*sizeofi[int));fbr(i=0;i<3;i++)fbr(j=0;j<3;j++)array[i][j]=arr[j][i];第68题填空题给定程序中,函数fUn的功能是:求ss所指字符串数组中长度最长的字符串所在的行下标,作为函数值返回,并把其串长放在形参n所指变量中,ss所指字符串数组共有M个字符串,且串长*n){/*******************/*n=len;改错题给定程序MODI1.C中fbn函数的功能是:根据形参m,计算如下公式的值,例如,若输入5,则应输出2.28333。请改正程序中的错误或在下划线处填上适当的内容并把下划线删除,使它能计算出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!/**********Cund**********/t+=1.0/i;/**********心un(j**********/returnt;程序编写编写一个函数,该函数可以统计一个长度为2的字符串在另一个字符串中出现的次数。例如,假定输入的字符串为:asdasasdfgasdaszx67asdmklo,了字符串为:as,则应输出6。注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

136intfun(char*str,char*substr)intent=0;char*p=str,*q;while(*p){q=strstr(p,substr);ifi(q==NULL)break;p=q+strlen(substr);cnt++;returnent;第69题填空题给定程序中,函数fun的功能是将a和b所指的两个字符串转换成面值相同的整数,并进行相加作为函数值返回,规定字符串中只含9个以下数字字符。例如,主函数中输入字符串:32486和12345,在主函数中输入的函数值为:44831.请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!/********************/d=d*10+*s-,0,;/**********d**********/s++;}returnd;longfun(char*a,char*b)/********************/returnctod(a)4-ctod(b);改错题给定程序MOD".C中fim函数的功能是:分别统计字符串中大写字母和小写字母的小数。例如,给字符串s输入:AabbBBbl23CCccccd,则应输出结果:upper=6»lower=8请改正程序中的错误,使它能计算出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!/********************/*a=*a+l;if(*s>='"&&*s<=*z')/********************/*b=*b+l;程序编写请编写一个函数fun,函数的功能是使实型数保留2位小数,并对第三位进行四舍五入(规定实型数为正数)。例如:实型数为1234.567,则函数返回1234.570000;实型数为1234.564,则函数返回1234.560000.注意:部分源程序存在文件PROG1.C文件中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写

137的若干语句。floatfun(floath)longw;w=h*100+0.5;return(float)w/100;第70题填空题给定程序中,函数FUN的功能是:计算形参X所指数组中N个数的平均值(规定所有数均为正数),作为函数值返回;并将大于平均值的数放在形参丫所指数组中,在主函数中输出。例如,有10个正数:4630324061745154826,平均值为:30.500000主函数中输出:4632404548请在程序的下划线处填人正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序结构!/**********f^ound**********/av=0;/**********found**********/fbr(i=0;iav)y[j++]=x[i];改错题给定程序MOD".C中函数FUN的功能是:根据整形形参M,计算如下公式的值。例如,若M=2000。则应输出:0.000160o请改正程序中的错误,使它能计算出正确的结果。注意:不要改动MAIN函数,不得增行或删行,也不得更改程序的结构!/************************/doublefiin(intm){doubley=0,d;inti;/************************/fbr(i=100;i<=m;i+=100)程序编写已知学生的记录由学号和学习成绩构成,N名学生的数据已存人A结构体数组中。请编写函数FUN,函数的功能是:找出成绩最低的学生记录,通过形参返回主函数(规定只有一个最低风)。注意:部分程序存在文件PROG1.C文件中。请勿改动主函数MAIN和其他函数中的任何内容,仅在函数FUN的花括号中填入你编写的若干语句。fun(STUa[],STU*s){

138inti,min=a[0].s,j=0;fbr(i=1;ia[i].s){/*如果最低分min仍大于当前分*/j=i;/*记住位置*/min=a[i].s;/*把当前分赋值给min*/)♦s=a[j];)第71题填空题给定程序中,函数FUN是功能是:加工内形参S所指字符串的所有数字字符顺序前移,其他字符顺序后移,处理后新字符串的首地址做为函数值返回。例如,S所指字符串为:asdl23gh5##43df,处理后的新字符串为:123543asd龟h##df.请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!/**********d**********/pin=s[i];j++;}else{t[k]=s[i];k++;}fbr(i=0;i

139程序编写函数FUN的功能是:将S所指字符串中下标为偶数同时ASCII值为奇数的字符删除,S所指串中剩余的字符形成的新串放在T所指的数组中。例如,若S所指字符串中的内容为"ABCDEFG12345",其中字符C的ASCII码值为奇数,在数组中的下标为偶数,因此必须删除;而字符1的ASCII码值为奇数,在数组只能感的下标也为奇数,因此不应当删除,其他的依次类推。最后T所指的数组中的内容应是"BDF12345".注意:部分源程序存在文件PROG1.C中。请勿改动主函数MAIN和其他函数中的任何内容,仅在函数FUN的花括号中填入你编写的若干语句。voidfun(char*s,chart[]){inti,j=0;fbr(i=0;ie){/********************/i++;/**********d**********/x=(2.0*i-l)/((2.0*i)*(2.0*i));改错题给定程序MODI1.C中函数FUN的功能是:将S所指字符串的正序和反序进行连接,形成一个新申放在T所指的数组中。例如,当S所指字符串为:"ABCD"时,则T所指字符串中的内容应为:"ABCDDCBA"。请改正程序中的错误,使它您得出正确的结果。注意:不要改动MAIN函数,不得增行或删行,也不得更改程序的结构!voidfun(char*s,char*t){inti,d;

140d=strlen(s);for(i=0;ie){s=s+k*x;k=k*(-1);t=2*i;x=(2*i+l)/(t*t);改错题给定程序MODI1.C中函数FUN的功能是:求出以下分数序列的前N项之和。和值通过函数值返回到MAIN函数。

141例如,若N=5,则应输出:8.391667o请改正程序中的错误,使它能计算出正确的结果。注意:不要改动MAIN函数,不得增行或删行,也不得更改程序的结构!/************f^Qund************/doublefun(intn){inta,b,c,k;doubles;s=0.0;a=2;b=1;for(k=1;k<=n;k++){/************nd************/s=s+(double)a/b;程序编写请编写一个函数FUN,它的功能是:求出一个2*M整型二维数组中最大元素的值,并将此值返回调用函数。注意:部分源程序存在文件PROG1.C文件中。请勿改动主函数MAIN和其他函数中的任何内容,仅在函数FU的花括号中填入你编写的若干语句。fun(inta[][M])inti,j,max=a[O][O];fbr(i=O;i<2;i++)for(j=O;j

142{inti,m;m=1;for(i=2;in[j])k=j;ifi(k!=i){strcpy(t,ss[i]);strcpy(ss[i],ss[k]);strcpy(ss[k],t);改错题给定程序MODI1.C中函数FUN的功能是:判断CH中的字符是否与STR所指串中的某个字符相同;若相同,什么也不做,若不同,则将其插在串的最后。请改正程序中的错误,使它能进行正确的操作。注意:不要改动MAIN函数,不得增行或删行,也不得更改程序的结构!

143程序编写请编一个函数FUN(CHAY*S),函数的功能是把S所指字符串的内容逆置。例如:字符串中原有的字符串为:abcde鱼,则调用该函数后,串中的内容为:gfedcba.注意:部分源程序存在文件PROG1.C中。请勿改动主函数MAIN和其他函数中的任何内容,仅在函数FUN的花括号中填入你编写的若干语句。fun(char*s)charb[N];inti=O,j;memset(b,0,N);fbr(j=strlen(s)-1;j>=0;j-)b[i++]=s[j];strcpy(s,b);第76题填空题给定程序中,函数FUN的功能是:计算下式前N项的和作为函数值返回。例如,放形参N的值为10时,函数返回:-0.204491。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的/♦*********^QUntj**********yk=l;fbr(i=l;i<=n;i++){/**********d**********/

144t=2*i;s=s+k*(2*i-l)*(2*i+l)/(t*t);/********************/k=k*(-l);改错题给定程序MODI1.C中函数FUN的功能上:判断一个整数是否是素数,若是返回1,否则返回Oo在MAI()函数中,若FUN返回1输出YES;若FUN返回0输出NO!。请改正程序中的错误,使它能得出正确的结果。注意:不要改动MAIN函数。不得增行或删行,也不得更改程序的结构!/************砧und************/k++;/************************/if(m=k)程序编写请编写一个函数FUN,它的功能是:找出一维整形数组元素中最大的值和它所在的下标,最大的值和它所在的下标通过形参传回。数组元素中的值已在主函数中赋予。主函数中X是数组名,N是X中的数据个数,MAX存放在最大值,INDEX存放最大值所在元素的下标。注意:部分源程序存在文件PROG1.C文件中。请勿改动主函数MAIN和其他函数中任何内容,仅在函数FUN的花括号中填入你编写的若干语句。n,int*max,int*d)inti;*max=a[0];*d=0;fbr(i=1;i

145给定程序MODH.C中函数FUN的功能是:将长整型数中每一位上为奇数的熟依次取出,构成一个新数放在T中,高位仍在高位,低位仍在低位。例如,当S中的数为:87653142时,T中的数为:7531。请改正程序中的错误,使它能得出正确的结果。注意:不要改动MAIN函数,不得增行或删行,也不得更改程序的结构!*t=0;while(s>0){d=s%10;/************************/if(d%2!=0)程序编写编写一个函数FUN,它的功能是:实现两个字符串的连接(不使用库函数STRCAT),即把P2所指的字符串连接到P1所指的字符串后。例如,分别输入下面两个字符串:FirstString-SecondString程序输出:FirstString-SecondString注意:部分源程序在文件PROG1.C文件中。请勿改动主函数MAIN和其他函数中的任何内容,仅在函数FUN的花括号中填入你编写的若干语句。voidfiin(charpl[],charp2[]){char*p=pl;while(*p)p++;while(*p2)*p-H-=*p2-H-;*p=0;)第78题填空题给定程序中,函数FUN的功能是:将NXN矩阵主对角线元素中的值与反向对角线对应位置上元素中的值进行交换.例如,若N=3,有下列矩阵:I23456789交换后为:321456987请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果注意;源程序存放在考生文件夹下的BLANK1.C中.不得增行或删行,也不得更改程序的结构!

146/********************/voidfun(intt[][N],intn){inti,s;for(i=0;iHIGH,查找结束。请改正程序中的错误,使它得出正确的结果。注意:不要改动MAIN函数,不得增行或删行,也不得更改程序的结构!/************nd************/fiin(inta[],intm){intlow=0,high=N-1,mid;while(low<=high){mid=(low+high)/2;ifi(ma[mid])程序编写假定输入的字符串中只包含字母*号。请编写函数FUN,它的功能是:除了尾部的*号之外,将字符串中其他*号全部删除。形参P已指向字符串中最后的一个字母。在编写函数时,不得使用C语言提供的字符串函数。例如,字符串中的内容为:****A*BC*DEF*G*******,删除后,字符串中的内容应当是:ABCDEFG*******。注意:部分源程序在文件PROG1.C中。请勿改动主函数MAIN和其他函数中的任何内容,仅在函数FUN的花括号中填入你编写的若干语句。voidfun(char*a,char*p)char*q=a;intj=O;while(*q&&q

147while(*p)a[j-H-]=*p4-4-;a[j]=O;第79题填空题给定程序中,函数FUN的功能是:求SS所指字符串数组中长度最短的字符串所在的行下标,作为函数值返回,并把其串长放在形参N所指变量中。SS所指字符串数组中共有M个字符串,且串长

148第80题填空题给定程序中,函数FUN的功能是:将形参N中,各位上为偶数的数取出,并按原来从高位到低位的顺序组成一个新的数,并作为函数值返回。例如,从主函数输入一个整数:27638496,函数返回值为:26846。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!/**********nd**********/i=l;/**********found**********/while(s){t=s%10;if(t%2=0){/**********nd**********/x=x+t*i;i=i*10;改错题给定程序MODI1.C中函数FUN的功能是:输出M行M列整数方阵,然后求两条对角线上元素之和,返回此和数。请改正程序中的错误,使它能得出正确的结果。注意:不要改动MAIN函数,不得增行或删行,也不得更改程序的结构!/************************/intfun(intn,intxx[][M]){inti,j,sum=0;printf(n

149The%dx%dmatrix:

150M,M,M);fbr(i=0;i

151注意:源程序存入在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!/**********%und**********/if(s[i]>=,0,&&s[i]<=,9,){n=0;while(s[i+l+n]!=0)n-H-;for(j=i+n+l;j>i;j-)/**********found**********/s[j+l]=s[j];改错题for(i=2;i<=m;i++)y+=1.0/(i*i);程序编写请编写函数FUN,函数的功能是:实现B=A+A1即把矩阵A加上A的转置,存放在矩阵B中。计算结果在MAIN函数中输出。例如,输入下面的矩阵:其转置矩阵为:123147456258789369程序输出:261061014101418注意:部分源程序在文件PROG1.C中。请勿改动主函数MAIN和其它函数中的任何内容,仅在函数FUN的花括号中填入你编写的若干语句。voidfun(inta[3][3],intb[3][3])intc[3][3];inti,j;fbr(i=0;i<3;i++)fbrG=0;j<3;j++){c[i][j]=a[j][i];/*矩阵的转置*/b[«]U]=a[i]U]+c[i]U];第82题填空题给定程序中,函数fun的功能是:找出100-999之间(含100和999)所有整数中各位上数字之和为X(X为一正整数)的整数,然后输出;符合条件的整数个数作为函数值返回。例如,当X值为5时,100-999之间各位上数字之和为5的整数有:104、113、122、131、140、203、212、221、230、302、31。320、401、410、500»共有15个。当X值为27时,各位数字之和为27的整数是:999。只有1个。

152请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!/**********^Qund**********/while(t<=999){/********************/sl=t%10;s2=(t/10)%10;s3=t/100;if(sl+s2+s3=x)改错题给定程序M0DI1.C中函数FUN的功能是:从低位开始取出长整形变量S中偶数位上的数,依次构成一个新数放在T中。高位仍在高位,低位仍在低位。例如,当S中的数为:7654321时,T中的数为:642.请改正程序中的错误,使它能得出正确的结果。注意:不要改动MAIN函数,不得增行或删行,也不得更改程序的结构!/************Cund************/voidfiin(longs,long*t){longsl=10;s/=10;*t=s%10;/************f^)und************/while(s>0)程序编写学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组S中,请编写函数FUN,它的功能是:按分数的高低排列学生的记录,高分在前。注意:部分源程序在文件PROG1.C文件中。请勿改动主函数MAIN和其他函数中的任何内容,仅在函数FUN的花括号中填入你编写的若干语句。intfun(STRECa[])STRECtmp;intij;fbr(i=0;i

153267、276、285、294、339、348>357、366、375、384、393、429、438、447、456、465、474、483、492。共26个。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中.不得增行或删行,也不得更改程序的结构!/********************/n=0;t=100;/**********^Qund**********/while(t<=x){sl=t%10;s2=(t/10)%10;s3=t/100;if(sl+s2+s3=15){printf(n%d1);n++;/**********8und**********/t++;改错题给定程序MODI1.C中函数FUN的功能是:先将S所指字符串中的字符按逆序存放到T所指字符串中,然后把S所指串中的字符按正序连接到T所指串的后面。例如:当S所指的字符串为:"ABCD"时,则T所指的字符串应为:"EDCBAABCDE".请改正程序中的错误,使它能得出正确结果.注意:不要改动MAIN函数,不得增行或删行,也不得更改程序的结构!/************************/inti,sl;si=strlen(s);for(i=0;i

154注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!改错题给定程序MOD".C中函数FUN的功能是:首先将大写字母转换为对应小写字母;若小写字母为a-u,则将其转换为其后的第5个字母;若小写字母为v-z,使其值减21。转换后的小写字母作为函数值返回。例如,若形参是字母A,则转换为小写字母f;若形参是字母W,则转换为小写字母b.请改正函数RUN中指定部位的错误,使它能得出正确的结果。注意:不要改动MAIN函数,不得增行或删行,也不得改程序的结构!/**************8und**************/c=c+32;if(c>=*a'&&c<='u')/**************d**************/c=c+5;程序编写请编写函数FUN,其功能是:计算并输出例如,在主函数中从键盘给N输入20后,输出为:S=534.188884c注意:要求N的值大于1但不大于100。部分源程序在文件PROG1.C中。请勿改动主函数MAIN和其他函数中的任何内容,仅在函数FUN的花括号中填入你编写的若干语句。doublefun(intn)inti;doublefac=1.0;doublesum=1.0;fbr(i=2;i<=n;i-H-){fac+=sqrt(i);sum4-=fac;returnsum;第85题填空题给定程序的功能是调用FUN函数建立班级通讯录。通讯录中记录每位学生的编号、姓名和电话号码。班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为MYFILE5.DAT的二进制文件中。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!/********************/intfun(STYPE*std)

155/**********nd**********/FILE*fp;inti;ifi((fp=fbpen(nmyfile5.dat,,,Mwbn))=NULL)retum(O);printf(w

156Outputdatatofile!

157");fbr(i=O;i

158{intcount,t,maxt=t1;if(maxtc&&b+c>a&&a+c>b){if(a=b&&b==c)return3;elseif(a=b||b=c||a==c)return2;elsereturn1;程序编写请编写函数FUN,其功能是:计算并输出3到N之间(含3和N)所有素数的平方根之和。例如,在主函数中从键盘给N输入100后,输出为:SUM=148.874270。注意;要求N的值大于2但不大于100。部分源程序在文件PROG1.C中。请勿改动之函数MAIN和其他函数中的任何内容,仅在函数FUN的花括号中填人你编写的若干语句。doublefun(intn)intij=O;doubles=0;for(i=3;i<=n;i++){for(j=2;j

159的次数,并通过外部(全局)变量Cl,C2,C3返回主函数。例如:当N=123114350时,结果应该为:Cl=3C2=lC3=2.请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!/**********Cund**********/switch(n%10)/**********i^Qund**********/case1:c1-H-;break;/********************/case2:c2-H-;break;改错题给定程序MODI1.C中函数FUN的功能是:统计一个无符号整数中各位数字值为零的个数,通过形参传回主函数;并把该整数中各位上最大的数字值作为函数值返回,例如,若输人无符号整数30800,则数字值为零的个数为3,各位上数字值最大的是8。请改正函数FUN中指定部位的错误,使它能得出正确的结果。注意:不要改动MAIN函数,不得增行或删行,也不得更改程序的结构!if(t=0)count-H-;iffmaxvt)max=t;n=n/10;}while(n);/**************f^ound**************/*zero=count;程序编写请编写函数FUN,其功能是:计算并输出下列多项式的值:例如,在主函数中从键盘给N输入50后,输出为:S=1.718282,注意:要求N的值大于1但不大于100。部分源程序在文件PROG1.C中。请勿改动主函数MAIN和其他函数中的任何内容,仅在函数FUN的花括号中填人你编写的若干语句。doublefun(intn){doubles=0,t=l;inti;fbr(i=l;i<=n;i++){t*=i;s+=l./t;)returns;}第88题

160填空题学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组S中,请编写函数FUN,它的功能是:把低于平均分的学生数据放在B所指的数组中,低于平均分的学生人数通过形参N传回,平均分通过函数值返回。注意:部分源程序在文件PROG1.C中。请勿改动主函数MAIN和其他函数的任何内容,仅在函数FUN的花括号中填入你编写的若干语句。/********************/voidfiin(int*a,intn){inti,j,max,min,px,pn,t;/********************/for(i=0;i

161if(a[i].s=O;j-)ss[i][m-]=ss[i][j];fbr(j=O;j

162while(*p){if(*p!=c)s[i-H-]=*p;p++;s[i]=0;第90题填空题函数fun的功能是:统计所有小于等于n(n>2)的素数的个数,素数的个数作为函数值返回。请在程序的下划线填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!/**********d**********/if(i%j=0)break;/**********found**********/igi)改错题数列中,第一项值为3,后一项都比前一项的值增5;给定程序MODI1.C中函数fUn的功能是:计算前n(4

163doublesum=0.0;if(n>l&&n<=100){fbr(i=l;i<=n;i++)sum+=1.0/(2*i-l)-1.0/(2*i);)returnsum;)第91题填空题函数fim的功能是:计算请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!f=1.0+x;t=x;n=1;do{n-H-;t*=x/n;/********************/f+=t;改错题给定程序MODH.C中函数fun的功能是:计算n的5次方的值(规定n的值大于2、小于8),通过形参指针传回主函数;并计算该值的个位、十位、百位之和作为函数值返回。例如,7的5次方是16807,其低3位数的和值是15。请改正函数fun中指定部位的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!/**************f^ound**************/d=l;s=0;fbr(i=1;i<=5;i-H-)d=d*n;*value=d;fbr(i=l;i<=3;i-H-){s=s+d%10;/***************************/d=d/10;程序编写请编写函数fun,其功能是:计算并输出给定数组(长度为9)中每相邻两个元素之平均值的平方根之和。例如,给定数组中的9个元素依次为12.0、34.0、4.0、23.0、34.0、45.0、18.0、3.0、11.0,输出应为:s=35.951014o注意:部分源程序在文件夹PROG1.C中。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若

164干语句。doublefun(doublex[9])inti;doubleavg=0.0,sum=0.0;for(i=0;i<8;i++){avg=(x[i]+x[i+l])/2;sum+=sqrt(avg);returnsum;第92题填空题函数fun的功能是:计算的前n项。若x=2.5,函数值为:12.182340。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!/**********Cund**********/t=1;/**********心un(j**********/for(i=l;i

165for(i=0;i<10;i++)abs+=(x[i]-avg)*(x[i]-avg);fc=sqrt(abs/10);returnfc;}第93题填空题给定程序中已建立一个带有头结点的单响链表,在MAIN函数中将多次调用FUN函数,每调用一次FUN函数,输出链表尾部结点中的数据,并释放该结点,使链表缩短请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLAK1.C中。不得增行或删行,也不得更改程序的结构!t=t->next;}/********************/printfif”%d*\t->data);s->next=NULL;/**********^Q|JJ|^j*****♦*♦**/free(t);改错题给定程序MODTLC中函数FUN的功能是:将字符串的字符按逆序输出,但是不改变字符串的内容。例如,若字符串abed,则应输出:deba.请改正程序中的错误,使它您计算出正确的结果。注意:不要改动MAIN函数,不得增行或删行,也不得更改程序的结构!/************************/fun(char*a){if(*a){ftin(a+l);/************f^ound************/printf("%c",*a);程序编写请写一个函数FUN,它的功能是:比较两个字符串的长度,(不得调用C语言提供的求字符串长度的函数),函数返回较长的字符串。若两个字符串长度相同,则返回第一个字符串。例如:输入beijingshanghai(为回车键),函数返回shanghai.注意:部分源程序存在文件PROG1.C中。请勿改动主函数MAIN和其他函数中的任何内容,仅在函数FUN的花括号中填人你编写的若干语句。char*fun(char*s,char*t){

166inti;char*p=s,*q=t;fbr(i=O;*p&&*q;i-H-){p++;q++;}ifi(*p==0&&*q=0)returns;if(*p)returns;elsereturnt;}第94题填空题函数fun的功能是:计算的前n项之各,若x=2.5,n=前时,函数值为:1.917914。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!/**********d**********/f=1;t=-l;for(i=l;i=0&&k<=6)程序编写请编写函数Am,其功能是:计算出输出下列多项式的值:Sn=l+l/l!+l/2!+l/3!+1/4!++l/n!例如,在主函数中从键盘给n输入15,则输出为:s=2.718282。注意:要求n的值大于1但不大于100,部分源程序在文件PROG1.C中。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。doublefiin(intn)

167doubles=l;longt=l;inti;fbr(i=1;i<=n;i++){t=t*i;/*计算阶乘*/s+=l./t;/*计算每项的值并累加至变量s中*/returns;/*返回多项式的值*/}第95题填空题给定程序中,函数fun的功能是:计算NXN矩阵的主对角线元素和反向对角线元素之和,并作为函数值返回。注意:要求先累加主对角线元素中的值,然后累加反向对角线元素中的值。例如,若n=3。有下列矩阵:123456789Fun函数首先累加1、5、9,然后累加3、5、7,函数的返回值为30。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!sum=0;fbr(i=O;i0.001)程序编写假定输入的字符串中只包含字母和*号,请编写函数fun,它的功能是:除了字符串前导和尾部的*号之外,将串中其它*号全部删除。形参h已指向字符串中第一个字母,形参p已指向字符串中最后一个字母。在编写函数时,不得使用c语言提供的字符串函数。例如,字符串中的内容为:****A*BC*DEF*G********,删除后,字符串中的内容应当是:****ABCDEFG********。在编写函数时,不得使用c语言提供的字符串函数。注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

168voidfiin(char*a,char*h,char*p)(intj=O;char*q=a;while(*q&&q=Oj—)t[N-l][N-l-j]=t[j][N-l];fbr(j=N-l;j>=O;j-)/**********d**********/tU][N-l]=rU];改错题给定程序MODI1.C中函数fun的功能是:计算s=f(-n)+f(-n+1)+-+f(O)+f(1)+f(2)+・・・+f(n)的值。例如,当n为5时,函数值应为:10.407143。Rx)函数定义如下:请改正程序中的错误,使程序能输出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!doubledoublex)

169if(x=0.0||x=2.0)return0.0;elseif(x<0.0)return(x-l)/(x-2);elsereturn(x+l)/(x-2);doublefun(intn){inti;doubles=0.0,y;for(i=-n;i<=n;i-H-){y=f(1.0*i);s+=y;}/************8und************/returns;程序编写编写函数fim,它的功能是计算:S作为函数值返回。在c语言中可调用log(n)函数求ln(n)。log函数的引用说明是:doublelog(doublex)o例如,若m的值为:20,fun函数值为:6.506583,注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。doublefun(intm)doubles=0.0;inti;fbr(i=1;i<=m;i++)s+=log(1.0*i);s=sqrt(s);returns;第97题填空题函数出n的功能是:逆置数组元素中的值。例如:若a所指数组中的数据依次为:1、2、3、4,5、6、7、8、9,则逆置后依次为:9、8、7、6、5、4、3、2、1。形参n给出数组中数据的个数。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序中的结构!/********************/for(i=0;i

170给定程序MOD11.C中函数fUn的功能是:将•个由八进制数字字符组成的字符串转换为与其面值相等的十进制整数。规定输入的字符串最多只能包含5位八进制数字字符。例如,若输入:77777,则输出将是:32767o请改正程序中的错误,使它能输出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序中的结构!/**********^Qund**********/n=*p-'0';p++;while(*p!=0){/********************/n=n*8+*p-'O';程序编写学生的记录由学号和成绩组成,N名学生的数据已经在主函数中放入结构体数组s中,请编写函数fun,它的功能是:函数返回指定学号的学生数据,指定的学号在主函数中输入。若没找到指定学号,在结构体变量中给学号置空串,给成绩置-1,作为函数值返回。(用于字符串比较的函数是strcmp)。注意:部分源程序存放在文件PROG1.C中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。STRECfun(STREC*a,char*b){STRECc;inti;c.num[O]='\0';/*置初始空串*/c.s=-1;/*置成绩为-1*/fbr(i=0;i

171if(p->data==ch)returnn;改错题给定程序M0DI1.C中,函数ftin的功能是:删除p所指字符串中的所有空白字符(包括制表符、回车符及换行符)。输入字符串时用‘#'结束输入。请改正程序中的错误,使它能输出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序中的结构!/************8und************/for(i=0,t=0;p[i];i++)if(!isspace(*(p+i)))c[t++]=p[i];/************************/c[t]='\O';程序编写请编写一个函数fun,它的功能是:将ss所指字符串中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换)。例如:若输入"abc4EFg",则应输出"aBc4EFg"。注意:部分源程序存放在文件PROG1.C中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。oidfun(char*ss)inti;fbr(i=1;i=*a'&&ss[i]<='z')ss[i]-=32;)第99题填空题函数fun的功能是:将形参a所指数组中的前半部分元素中的值和后半部分元素中的值对换。形参中存放数组中数据的个数,若n为奇数,则中间的元素不动。例如:若a所指数组中的数据依次为:1、2、3、4、5、,则调换后为6、7、8、9、5、1、2、3、4,请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构1/**********Gund**********/p=(n%2=0)?n/2:n/2+l;for(i=0;i

172/********************/a[p+i]=t;改错题给定程序MODH.C中函数firn的功能是:把主函数中输入3个数,最大的放在a中,最小的放在c中,中间的放在b中。例如,输入的数为:551234,输出结果应当是:a=55.0,b=34.0c=12.0o请改正程序中的错误,使它能得出正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。/********************/floatk;ifi[*a<*b){k=*a;*a=*b;*b=k;}/********************/if(*a<*c)程序编写学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请纺写函数fbn,它的功能是:把分数最高的学生数据放在b所指的数组中,注意:分数最高的学生可能不止一个,函数返回分数最高的学生的人数。注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。intfun(STREC*a,STREC*b)inti,max=a[O].s,n=0;for(i=l;i

173for(j=i+n+l;j>i;j-)s[j+l]=s|j];/**********d**********/s[j+l]=c;改错题在主函数中从键盘输入苦干个数放入数组中,用0结束输入并放在最后一个元素中。给定程序M0DI1.C中函数ftin的功能是:计算数组元素中值为正数的平均值(不包括0)例如:数组中元素中的值依次为:39,-47,21,2,-8,15,0,则程序的运行结果为:19.250000。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!/************f^ound************/doublesum=0.0;intc=0,i=0;while(x[i]!=0){if(x[i]>0){sum+=x[i];c-H-;}i++;/************j^Qund************/sum/=c;程序编写编写函数ftin,函数的功能是:根据以下公式计算s,计算结果作为函数值返回;n通过形参传入。例如:若n的值为11时,孙数的值为:1.833333注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干floatfun(intn)inti,j,t;floats=0;fbr(i=l;i<=n;i++){t=0;fbr(j=l;j<=ij++)t+=j;s=s+l./t;)returns;21

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

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

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