《二级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);
1i
next=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;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;i 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;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;k 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;i 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;i 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;i 22注意:源程序存放在考生文件夹下的BLANK1.C中;不得增行或删行,也不得更改程序的结构!/**********found**********/n=strlen(ss[i]);for(j=O;j 23请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!/********************/structstudentt;inti,j;/**********Cund**********/fbr(i=0;i 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;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;i 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;i 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;i 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;i 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 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;i 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;i 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 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 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 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 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;j 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;i 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 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;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;j 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个字符串,且串长 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;i 138inti,min=a[0].s,j=0;fbr(i=1;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;i 140d=strlen(s);for(i=0;i 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;i 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中.不得增行或删行,也不得更改程序的结构!
此文档下载收益归作者所有