全国计算机c语言考试上机题库

全国计算机c语言考试上机题库

ID:83018107

大小:203.26 KB

页数:166页

时间:2023-09-19

上传者:灯火阑珊2019
全国计算机c语言考试上机题库_第1页
全国计算机c语言考试上机题库_第2页
全国计算机c语言考试上机题库_第3页
全国计算机c语言考试上机题库_第4页
全国计算机c语言考试上机题库_第5页
全国计算机c语言考试上机题库_第6页
全国计算机c语言考试上机题库_第7页
全国计算机c语言考试上机题库_第8页
全国计算机c语言考试上机题库_第9页
全国计算机c语言考试上机题库_第10页
资源描述:

《全国计算机c语言考试上机题库》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

第一套1.程序填空给定程序中,函数fim的功能是:将形参n所指变量中,各位上为偶数的数去除,剩余的数按原来从高位到低位的顺序组成一个新的数,并通过形参指针n传回所指变量。如输入一个数27638496,新的数为729第一空:{t=*n%10;第二空:if(t%2!=0)第三空:*n=x;2.程序修改给定程序modil.c中函数fun的功能是:计算n!.例如,给n输入5,则输出120.000000。doublefun(intn){doubleresult=1.0;/*****Cund******/if(n=0)return1.0;while(n>1&&n

1给定程序MODI1.C中函数firn的功能是:依次取出字符串中所有数字字符,形成新的字符串,并取代原字符串。voidfun(char*s){intij;fbr(i=Oj=O;s[i]!=,\O,;i++)if(s[i]>='0'&&s[i]<=,9,)/*****Cund******/s[j++]=s[i];/*****Cund******/s[j]='\O';)1.程序设计题请编写函数fun,函数的功能是:将M行N列的二维数组中的字符数据,按列的顺序依次放到一个字符串中。voidfun(chars[][N],char*b)intij,n=0;for(i=O;i

2{NODE*h=NULL,*p,*s;inti;/*****Cund******/p=(NODE*)malloc(sizeof(NODE));h=p;p->next=null;fbr(i=l;i<=n;i-H-){s=(NODE*)malloc(sizeof(NODE));s->data=rand()%m;s->next=p->next;p->next=s;p=p->next;)/*****Cund******/returnh;}1.程序设计请编写函数fim,函数的功能是:统计一行字符串中单词的个数,作为函数值返回。一行字符串在主函数中输入,规定所有单词由小写字母组成,单词之间由若干个空格格开,一行的开始没有空格。intfun(char*s)(intk=l;while(*s){if(*s=")k++;s++;}returnk;)第四套1.程序填空程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是从形参filename所指的文件中读入学生数据,并按照学号从小到大排序后,再用二进制方式把排序后的学生数据输出到filename所指的文件中,覆盖原来的文件内容。第1处0=fbpen(filename,"rb");第2处if(s[i].sno>s[j].sno)第3处fwrite(s,sizeof(STU),N,fp);2.程序修改给定程序MODI1.C中函数fun的功能是:在字符串的最前端加入n个*号,形成新串,差且覆盖原串。注意:字符串的长度最长允许为79.voidfun(chars[],intn){chara[80],*p;

3inti;/*****l^und******/P=S;fbr(i=O;i10)b[M-l]++;elseb[j]++;第五套1.程序填空给定程序中,函数fim的功能是将参数给定的字符串、整数、浮点数写到文件文件中,再用字符串方式从此文本文件中逐个读入,并调用库函数atoi和atof将字符串换成相应的整数和浮点数,然后将其显示在屏幕上。第1处:FILE*fp;第2处:fclose(fp);第3处:fscanf{fp,,,%s%s%s,,,str,str1,str2);2.程序修改给定程序M0DI1.C中函数fun的功能是:对N名学生的学生成绩,按从高到低的顺序找出前m(m<10)名学生来,将这些学生数据存放在一个动态分配的连续存储区中,此存储区的首地址作为函数值返回。STU♦fiin(STUa[],intm){STUb[N],*t;intij,k;

4/*****l^und******/t=(STU*)calloc(sizeof(STU),m);fbr(i=O;ibU].s)j=i;/*****f^ound******/t[k]=bD];b[j].s=O;)returnt;)1.程序设计请编写函数fun,函数的功能是,删去一维数组中所有相同的数,使之只剩一个。数组中的数」按从小到大的顺序排序,函数返回删除后数组中数据的个数。intfiin(inta[],intn)intij=l,k=a[O];fbr(i=l;i/*****Cund******/char*fiin(char*s,char*t)(intsl=O,tl=O;char*ss,*tt;ss=s;tt=t;while(*ss){S1++;/*****^Qund******/SS-H-;}while(*tt){tl++;/*****found******/tt++;}

5ifi(tl>sl)returnt;elsereturns;}1.程序设计请编写函数fun,函数的功能是:移动字符串中的内容,移动的规则如下:把第1到第m个字符,平均移到字符串的最后,把第m+1个到最后的;字符移到字符串的前部。voidfun(char*w,intm)(inti;fbr(i=0;ia[m])m=k;t=a[i];a[i]=a[m];a[m]=t;3.程序设计请编写一个unsignedfiin(unsignedw),w是一个大于10的无符号整数,若w是n(n>=2)位的整数,函数求出w的后n-1位的数作为函数值返回。例如:w值为5923,则函数返回923;w值为923则函数返回23。unsignedfun(unsignedw)]if(w>=10000)returnw%10000;ifi(w>=1000)returnw%1000;if(w>=100)returnw%100;returnw%10;第八套1.程序填空给定程序通过定义并赋值的方式,利用结构体变量存储了一名学生学号、姓名和3门课的成绩。函数ftm的功能是将该学生的各科成绩都乘以一个系统a。第1处voidmodify(STU*ss,floata)第2处ss->score[i]*=a;第3处modify(&std,a);2.程序修改给定程序MODI1.C中函数fun的功能是:求k!<13>,所求阶乘的值作为函数值返回。例如:若k=10,则应输出:3628800。longfiin(intk)(/♦****found******/if(k>0)

6return(k*fiin(k-l));/♦****Cund******/elseif(k=O)returnIL;1.程序设计程序定义了N*N的二维数组,并在主函数中自动赋值。请编写函数fun(inta[][N],intn),函数的功能是:使数组左下三角元素中的值乘以n。intfun(inta[][N],intn){intij;fbr(i=0;inext;第2处while(q)第3处p=p->next;2.程序修改给定程序M0DI1.C中函数fun的功能是:将s所指字符串中的字母转换为按字母序列的后续字母(但Z转换为A,z转换成a),其它字符不变。voidfiin(char*s)]/**********/while(*s){ifi[*s>'A'&&*sv='Z'||*s>=,a,&&*s<=,z,){if(*s=,Z,)*s=W;elseif(*s=,z,)*s=,a,;else*s=*s+l;}/*****Cund******/s++;))3.程序设计voidfun(int*w,intp,intn){intij=0,b[N];fbr(i=p+1;i

7b[j++]=w[i];fbr(i=O;idoublefun(intm)Idoublet=1.0;inti;fbr(i=2;i<=m;i-H-)t=t-1.0/i;returnt;3程序设计请编写一个函数,函数的功能是删除字符串中的所有空格。intfun(char*str)char*p=str;inti=0;while(*p){ifi(*p!=,,)str[i++]=*p;P++;str[i]=O;第4^一套1程序填空给定程序中,函数fun的功能是将带头结点的单向链表逆置。即若原链表中从头至尾结点数据域依次为:2、4、6、8、10,逆置后,从头至尾结点数据域依次为:10、8、6、4、2、。第1处p=h->next;第2处if(p==0)return;第3处p=q;q=r;2.程序修改给定MODH.Cfun函数的功能是:计算s所指字符串中含有t所指字符串的数目,并作为函数值返回。请改正函数ftin中指定部位的错误,使它能得出正确的结果。#include

8#include#defineN80intfun(char*s,char*t){intn;char*p,*r;n=0;while(*s){P=s;/*******Cund******/r=t;while(*r)if(*r==*p){r4-+;p++;}elsebreak;/*******Cund******/if(*r==O)n-H-;s++;)returnn;}3程序设计请编写函数ftin,函数的功能是:将放在字符串数组中的M个字符串(每串的长度不超过N),按顺序合并组成一个新的字符串,函数fun中给出的语句供供参考。voidfun(chara[M][N]),char*b){inti;*b=0;fbr(i=O;inext;第3处q=r;2程序修改给定程序MODI1.C中函数fun的功能是:将s所指字符串中位于奇数位置的字符或ASCII码为偶数的字符放入t所指数组中(规定第一个字符放在第0位中).#include#include#defineN80voidfun(char*s,chart[]){intij=0;for(i=O;i

9/*******Cund******/if(i%2||s[i]%2==0)t|j-H-]=s[i];/*******found******/t[j]='\O';)3程序设计请编写函数Am,函数的功能是:将M行N列的二维数组中的数据,按列的顺序依次放到一维数组中。函数fUn中给出的语句仅供参考。#includevoidfun(int(*s)[10],int*b,int*n,intmm,intnn){intij,np=0;fbr(i=0;inext;第2处q=p->next;第3处if{p->data>=q->data))2程序修改给定程序MODI1.C是建立一个带头结点的单向链表,并用随机函数为各结点数据域赋值。函数fim的作用是求出单向链表结点(不包括头结点)数据域中的最大值,并且作为函数值返回。请改正函数fim中指定部位的错误,使它能得出正确的结果。fun(NODE*h){intmax="l;NODE*p;/*******3und******/p=h->next;while(p){if(p->data>max)max=p->data;/*******必und******/p=p->next;

10returnmax;}3程序设计请编写函数fun,函数的功能是:将M行N列的二维数组中的数据,按行的顺序依次放到一维数组中。一维数组中数据的个数存放在形参n所指的存储单元中。voidfun(int(*s)[10],int*b,int*n,intmm,intnn){intij,k;fbr(i=0;inext;while(p){ifi(p->data%2=0)sum+=p->data;/*******Cund******/p=p->next;returnsum;}3程序设计请编写函数fun,函数的功能是:判断字符串是否为回文?叵是,函数返回1,主函数中输出:

11YEX,否则返回0,主函数中输出NO。回文是指顺读t和倒读都一样的字符串。intfun(char*str){intij=strlen(str);fbr(i=0;i=O)&&(ch

12doublemax=h->s;STREC*p;p=h->next;while(p){if(p-s>max)max=p->s;p=p->next;}returnmax;第十六套1程序填空给定程序中,函数fun的功能是:求出形参ss所指字符串数组中最长字符串的长度,将其余字符串右边用字符*补齐,使其与最长的字符串等长。Ss所指字符串数组中共有M个字符串,且串长voidfiin(char*p)(intk=0;for(;*p;p++)if(k)/*******fbund******/*p="){k=0;/*******砧und******/*(p-1)=touppcr(*(p-1));})elsek=l;3程序设计请编写函数firn,对长度为7个字符的字符串,除首、尾字符外,将其余5个字符ASCII码降序排列。intfiin(char*s,intnum){

13charch;intij;fbr(i=l;i<6;i++)fbr(j=i+l;j<6j++){if(*(s+i)<(s+j)){ch=*(s+j);*(s+j)=*(s+i);*(s+i)=ch;第十七套1程序填空程序通过定义学生结构体数组,存储了若干名学生的学号、姓名和3门课的成绩。函数fun的功能是将存放学生数据的结构体数组,按照姓名的字典序(从小到大)排序。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。第1处structstudentt;第2处fbr(i=O;iO)2程序修改给定程序M0DI1.C中函数fun的功能是:在p所指字符串中找出ASCII码值最大的字符,将其放在第一个位置上;并将该字符前的原字符向后顺序移动。fun(char*p){charmax,*q;inti=0;max=p[i];while(p[i]!=O){if(maxp){*q=*(q-l);q--;)p[O]=max;}3程序设计学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写了函数fun,它的功能是:把指定分数范围内的学生数据放在b所指的数组中,分数范围内的学生人数由函数值返回。intfun(STREC*a,STREC*b,int1,inth)

14{intij=0;fbr(i=0;i=l&&a[i].s<=h)bg++]=a[i];returnj;}/*程序中1是用L的小写*/第十八套1程序填空给定程序中,函数firn的功能是:将形参s所指字符串中的所有字母字符顺序前移,其他字符顺序后移,处理后新字符串的苜地址作为函数值返回。第1处t[j]=s[i];j-H-;第2处fbr(i=O;i

15)第十九套1程序填空程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。函数fun的功能是将形参a所指结构体变量s中的数据进行修改,并把a中地址作为函数值返回主函数,在主函数中输出修改后的数据。第1处structstudent*fun(structstudent*a)第2处fbr(i=O;i<3;i++)a->score[i]+=l;第3处returna;2程序修改给定程序MODI1.C中函数fun的功能是:从N个字符串中找出最长的那个串,并将其地址作为函数值返回。各字符串在主函数中输入,并放入一个字符串数组中。/*******Cund******/char*fiin(char(*sq)[M]){inti;char*sp;sp=sq[O];fbr(i=O;ivoidfun(inta,intb,long*c){*c=(b%10)*1000+(a/10)*100+(b/10)*10+a%10;}第二十套1程序填空给定程序中,函数fim的功能是:计算形参x所指数组中N个数的平均值,(规定所有数均为正数),将所指桑骂槐数组中小于平均值的数据移至数据的前部,大于等于平均值的数据移至x决指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。第1处for(i=0;i

16fbr(k=O;k=0)num[i]++;)3程序设计请编写函数fun,函数的功能是求出二级数组周边元素之和,作为函数值返回。二维数组中的值在主函数中赋予。intfun(inta[M][N])inttot=0,ij;fbr(i=0;i

17第2处y[j++]=x[i];x[i]="l;}第3处if(x[i]!=-l)yU++]=x[i];2程序修改给定程序M0DI1.C的功能是:读入一英文文本行,将其中每个单词的第一个字母改成大写,然后输出此文本行(这里的“单词”是指由空格隔开的字符串)/*******砧5记******/#include/*******Cund******/upfst(char*p){intk=0;fbr(;*p;p++)if(k){if(*p=,,)k=O;}elseif(*p!=”){k=l;*p=toupper(*p);}}3程序设计程序定义了NxN的二级数组,并在主函数中赋值,请编写函数fun,函数的功能是:求出数组周边元素的平均值并作出函数值返给主函数中的s。doublefim(intw[][N]){inti,j,n=0;doublesum=0;fbr(i=O;i

18*,i,sqrt((double)i));第2处fclose(ip);第3处if((fp=fbpen(fname,''r"))=NULL)2程序修改给定程序MODI1.C中fun函数的功能是:将n个无序整数从小到大排序。fun(intn,int*a){intij,p,t;fbr(j=O;j

19/************/for(i=j+l;ia[i])/*******Cund******/P=i;if(p!=j){t=a[j];a[j]=a[p];a[p]=t;}}}3程序设计函数fun的功能是:将两个两位数的正整数a、b合并形成一个整数放在c中•合并的方式是:将a数的十位和个位数依次放在c数的个位和百位上,b数的十位和个位数依次放在c数的十位和千位上。#includevoidfun(inta,intb,long*c)*c=(b%10)*1000+(a%10)*100+(b/10)*10+(a/10);}第23套1程序填空给定程序中,函数fbn的功能是:找出N*N矩阵中每列元素中的最大值,并按顺序依次存放于形参b所指的一维数组中。第1处b[i]=a[0][i];第2处if(b[i]#defineMAX100intfun(intlim,intaa[MAX]){inti,j,k=0;for(i=2;i<=lim;i++){fbr(j=2j<=(i/2);j++)if(i%j=O)break;if(j>(i/2))aa[k++]=i;}returnk;}

20第24套1程序填空程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。函数ftm的功能是将形参a中的数据进行修改,把修改后的数据作为函数值返回主函数进行输出。第1处structstudentfun(structstudenta)第2处strcpy(a.name,'LiSiw);第3处a.score[i]+=l;2程序修改假定整数数列中的数不重复,并存放在数组中。给定程序MODI1.C中函数fim的功能是:删除数列中值为x的元素。N中存放的是数列中元素的个数。fun(int*a,intn,intx){intp=O,i;a[n]=x;while(x!=a[p])p=p+l;/*******Cun(i******/氓p==n)return-Pelse{for(i=p;ia[i].s){j=O;b[j-H-]=a[i];min=a[i].s;}elseif(min=a[i].s)b[j++]=a[i];returnj;}第25套1程序填空人员的记录由编号和出生年、月、H组成,N名人员的数据已在主函数中存入结构体数组std中,且编号唯一。函数fun的功能是:找出指定编号人员的数据,作为函数值返回,由主函数输出,若指定编号不存在,返回数据中编号为空串。

21第1处STUfun(STL)*std,char*num)第2处if(strcmp(std[i].nuin,nuin)=O)第3处return(std[i]);2程序修改给定程序M0DI1.C中函数fun的功能是:从s所指字符串中,找出与t所指字符串相同的子串的个数作为函数值返回。intfiin(char*s,char*t){intn;char*p,*r;n=0;while(*s){p=s;r=t;while(*r)if(*r=*p){/*******f^)und******/rH-;p++;}elsebreak;/*******f^ound******/if(*r=O)n-H-;s++;}returnn;)3程序设计函数fun的功能是:将s所指字符串中ASCII值为偶数的字符删除,串中剩余字符形成一个新串放在t所指的数组中。#include#includevoidfun(char*s,chart[])(inti,j=0;fbr(i=O;inext;第3处q=q->next;2程序修改给定程序MODI1.C中函数fun的功能是:用选择法对数组中的n个元素按从小到大的顺序

22进行排序。voidfun(inta[],intn){inti,j,t,p;for(j=O;j

23{doubles=l,t=l./3;intn=l;while(t>=eps){s+=t;n++;t=t*n/(2.0*n4-1);}retum(s*2.0);第28套1.程序填空给定程序中,函数fun的功能是:统计形参s所指字符串中数字字符出现的次数,并存放在形参t所指的变量中,最后在主函数中输出。例如,形参s所指的字符串为:abcdef35adgh3kjsdf7o输出结果为:4。第1处for(i=O;s[i]!=NULL;i++)第2处if(s[i]>='0'&&s[i]<=,9,)n++;第3处*t=n;2程序修改给定程序M0DI1.C中函数fun的功能是:通过某种方式实现两个变量值的交换,规定不允许增加语句和表达式。例如变量a中的值原为8,b中的值原为3,程序运行后a中的值为3,b中的值为8。intfun(int*x,inty){intt;/*******必und******/t=*x;*x=y;/*******fbund******/retum(t);)3程序设计请编写函数fun,它的功能是:求出1到1000之间能被7或11整除,但不能同时被7和11整除的所有整数并将它们放在a所指的数组中,通过n返回这些数的个数。#includevoidfiin(int*a,int*n){inti;*n=0;fbr(i=7;i<1000;i++)if(((i%7)==0||(i%l1)==0&&(i%77)!=0)a[(*n)++]=i;}第29套1程序填空程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。函数fun的功能是对形参b所指结构体变量中的数据进行修改,最后在主函数中输出修改后的数据。第1处b->sno=10004;第2处strcpy(b->name,"LiJie");第3处fun(&t);2程序修改给定程序MODI1.C中函数fun的功能是:应用递归算法求形参a的平方根。求平方根的迭代公式如下:例如,a为2时,平方根值为:1.414214xl=l/2*(x0+a/x0)(考试时是分数形式)/*******砧5记******/doublefun(doublea,doublexO)

24{doublexl,y;xl=(x0+a/x0)/2.0;/*******found******/ifi(fabs(xl-x0)>0.00001)y=fun(a,xl);elsey=xl;returny;}3程序设计学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把高于等于平均分的学生数据放在b所指的数组中,高于等于平均分的学生人数通过形参n传回,平均分数通过函数值返回。doublefun(STREC*a,STREC*b,int*n){doublet=0;inti;*n=0;fbr(i=0;it)b[(*n)4-+]=a[i];returnt;}第30套1程序填空程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。函数fUn的功能是将形参a所指结构体变量中的数据赋给函数中的结构体变量b,并修改b中的学号和姓名,最后输出修改后的数据。第1处b=a;第2处strcpy(b.name,"LiSi")第3处fbr(i=0;i<3;i++)printf(''%6.2r,b.score[i]);2程序修改给定程序MODI1.C中函数fun的功能是:从s所指字符串中删除所有小写字母Co请改正程序中的错误,使它能计算出正确的结果。voidfirn(char*s){inti,j;fbr(i=j=O;s[i]!=,\0,;i++)if(s[i!=,c'])/*******Cund******/s[j++]=s[i];/*******Cund******/s[j]=,\O,;)3程序设计

25假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:将字符串的前导*号全部移到字符串的尾部。函数fun中给出的语句仅供参考。voidfun(char*a){char*p,*q;intn=0;p=a;while(*p=='*'){n++;p++;}q=a;while(*p){*q=*p;P-;q++;)fbr(;n>O;n—)*q='\0';)第31套1程序填空给定程序中,函数fiin的功能是:对形参s所指字符串中下标为奇数的字符按ASCH码大小递增排序,并将排序后下标为奇数的字符取出,存入形参p所指字符数组中,形成一个新串。第1处日;第2处for(j=i+2;j=num){pi=pi+t;n=n+2;s=-s;/*******Cund******/t=s/n;)pi=pi*4;returnpi;

263程序设计请编写一个函数voidfun(chara[],charb[],intn),其功能是:删除一个字符串指定下标的字符。其中,a指向原字符串,删除指定字符后的字符串存放在b所指的n中存入指定的下标。voidftm(chara[],charb[],intn)(stmcpy(b,a,n);b[n]=0;strcat(b,a+n+l);)第32套1程序填空给定程序中,函数fun的功能是:在形参ss所指字符串数组中,将所有串长超过k的字符串中右边的字符删除,只保留左边的k个字符。ss所指字符串数组中共有N个字符串,且串长小于M。第]处voidfun(char(*ss)[M],intk)第2处while(ieps){s+=t;t=t*n/(2*n+l);n++;}/*******砧und******/return(2*s);*3程序设计假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:将字符串的前导*号不得多于n个;若多于n个,则删除多于的*号;若少于或等于n个,则什么也不做,字符串中间和尾部的*号不删除。函数fun中给出的语句仅供参考。voidfun(char*a,intn)inti=Oj,k=O;while(a[k]=,*,)k+-i-;ifi[k>n)i=nj=k;fbr(;a[j]!=O;j++)a[i++]=a[j];a[i]=O;

27第33套1程序填空给定程序的功能是:调用函数fun将指定源文件中的内容复制到指定的目标文件中,复制成功时函数返回值为1,失败时返回值为0。在复制的过程中,把复制的内容输出到终端屏幕。主函数中源文件名放在变量sfiiame中,目标文件名放在变量tfhame中。第1处iH(fs=fbpen(source,''r"))=NULL)第2处while(!feof(fs))第3处fputc(ch.ft);2程序修改给定程序MODI1.C中函数fun的功能是:将长整型中每一位上为偶数的数依次取出,构成一个新数放在t中。高位仍在高位,低位仍在低位。voidfun(longs,long*t){intd;longsl=l;*t=0;while(s>0){d=s%10;/♦******£Qyp^j******/ifi(d%2==0){*t=d*sl+*t;sl*=10;}/*******3und******/s/=10;}}3程序设计函数fun的功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的十位和千位上,b数的十位和个位数依次放在c数的百位和个位上。voidfun(inta,intb,long*c){*c=(a%10)*1000+(b/10)*100+(a/10)*10+(b%10);)第34套1程序填空用筛选法可得到2〜n(n<10000)之间的所有素数,方法是:首先从素数2开始,将所有2的倍数的数从数表中删去(把数表中相应位置的值置成0);接着从数表中找下一个非0数,并从数表中删去该数的所有倍数,依此类推,直到所找的下一个数等于n为止。这样会得到一个序列:2,3,5,7,11,13,17,19,23函数firn用筛选法找出所有小等于n的素数,并统计素数的个数作为函数值返回。第1处fbr(j=a[i]*2;j<=ny+=a[i])第2处while(a[i]==O)

28第3处if(a[i]!=O)2程序修改给定程序MODH.C中函数fun的功能是:为•个偶数寻找两个素数,这两个素数之和等于该偶数,并将这两个素数通过形参指针传回主函数。voidfun(inta,int*b,int*c){intij,d,y;fbr(i=3;i<=a/2;i=i+2)(/*******Cun(i******/y=i;fbr(j=2j<=sqrt((double)i)j-H-)if(i%j==O)y=O;if(y==l){/*******砧und******/d=a-i;fbr(j=2;j<=sqrt((double)d);j++)if(d%j=O)y=O;if(y=l){*b=l;*c=d;}}}}3程序设计请编写函数fim,它的功能是:计算并输出n(包括n)以内能被5或9整除的所有自然数的倒数之和。doublefun(intn){inti;doublesum=0.0;fbr(i=l;i<=n;i-H-)if(i%5=0||i%9=0)sum+=1.0/i;returnsum;)第35套1程序填空给定程序中,函数fim的功能是建立一个NxN的矩形。矩阵元素的构成规律是:最外层元素的值全部为1:从外向内第2层元素的值全部为2;第3层元素的值全部为3,…依次类推。第1处voidfun(int(*a)[N])第2处fbr(j=ij

29并按高位到低位顺序输出。voidfun(intm,intk)intaa[20],i;fbr(i=0;m;i++){/*******^)und******/aa[i]=m%k;m/=k;)for(;i;i-)/*******Cu[]d******/printfC%d”,aa[i・l]);}3程序设计编写一个函数,从num个字符串中找出最长的一个字符串,并通过形参指针max传回该串地址。(注意:主函数中用****作为结束输入的标志,函数fun中给出的语句仅供参考)fun(char(*a)[81],intnum,char**max){inti,k=O,maxlen;maxlen=strlen(a[k]);fbr(i=l;imaxlen){maxlen=strlen(a[i]);k=i;}}*max=a[k];*第36套1程序填空给定程序中,函数fim的功能是:统计出带有头结点的单向链表中结点的个数,存放在形参n所指的存储单元中。第1处*n=0;第2处p=p->next;第3处fun(head,&num);2程序修改给定程序M0DI1.C中函数fim的功能是:求出s所指字符串最后一次出现的t所指子字符串的地址,通过函数值返但1,在主函数中输出从此地址开始的字符串;若未找到,则函数值NULLochar*fun(char*s,char*t){char*p,*r,*a;/*******found******/

30a=NULL;while(*s){P=s;r=t;while(*r)/*******Cun(i******/if(*r==*p){r-H-;p++;}elsebreak;ifi(*r==,\0,)a=s;s++;}returna;)3程序设计函数fun找功能是:将s所指字符串中除了下标为偶数,同时ASCII值也为偶数的字符外,其余的全部都删除;串中剩余字符所形成的一个新串放在t所指的数组中。voidfun(char*s,chart[])(intiJ=0;for(i=0;i

31/*******Cund******/returnj;)3程序设计假定输入的字符串中只包含中只包含字母和*号。请编写函数fun,它的功能是:只删除字符串前导和尾部的*号,串中字母之间的*号都不删除。形参n给出了字符串的长度,形参h给出了字符串中前导*号的个数,形参e给出了字符串中最后*号的个数。在编写函数时,不得使用C语言提供的字符串函数。voidfun(char*a,intn,inth,inte)char*p=a;intj=O,len=O;while(*p){p++;len-H-;}while(j

32的*号。在编写函数时,不得使用C语言提供的字符串函数。voidfun(char*a)(intj=O;char*p=a;while(*p){if(*p!=,*')a[j++]=*p;P";}a[j]=O;第39套1程序填空给定程序中,函数fun的功能是:在形参ss所指字符串数组中,删除所有串长超过k的字符串,函数返回所剩字符串的个数。ss所指字符串数组中共有N个字符串,且串长小于Mo第1处for(i=O;i\0,;)

33第40套1程序填空给定程序中已建立一个带头结点的单向链表,链表中的各结点按结点数据域中的数据递增有序链接。函数fim的功能是:把形参x的值放入一个新结点并插入到链表中,插入后各结点数据域的值仍保持递增有序。第1处s->data=x;第2处q=p;第3处q->next=s;2程序修改给定程序MODH.C中函数fun的功能是:计算正整数num的各位上的数字之积。longfiin(longnum){/************/longk=l;do{k*=num%10;/*******3u[]d******/num/=10;{while(num);return(k);3程序设计请编写一个函数ftin,它的功能是:计算n门课程的平均分,计算结果作为函数返回。floatfun(float*a,intn){inti;floatave=0.0;fbr(i=O;i

34floatfun(intn){floatA=l;inti;/*******Cund******/fbr(i=2;i<=n;i++)A=1.0/(l+A);returnA;3程序设计程序定义了NxN的二维数组,并在主函数中自动赋值•请编写函数fun,函数的功能是:使数组右上三角元素中的值乘以mointfiin(inta[][N],intm)(intij;fbr(i=0;iO)p=*(pstr+i);/*******fbund******/*(pstr+i)=*(pstr+j);*(pstr+j)=p;3程序设计

35请编写函数firn,它的功能是:求出ss所指字符串中指定字符的个数,并返回此值。intfiin(char*ss,charc)(intcnt=O;char*p=ss;while(*p){氓*p==c)cnt++;pH;)returnent;)第43套1程序填空给定程序中,函数fun的功能是:在形参ss所指字符串中查找与形参t所指字符串相同的串,找到后返回该串在字符串中的位置(下标值),未找到则返回-1。ss所指字符串数组中共有N个内容不同的字符串,且串长小于M。第1处fbiti=O;i

36Don'tfound!

37,5);2程序修改给定程序MODI1.C中函数fun的功能是:从整数I到55之间,选出能被3整除、且有一位上的数是5的那些数,并把这些数放在b所指的数组中,这些数的个数作为函数值返回。规定,函数中al放个位数,a2放十位数。fun(int*b){intk,al,a2,i=0;fbr(k=10;k<=55;k++){/*******Cun(j******/a2=k/10;al=k-a2*10;ifi((k%3==0&&a2==5)||k%3=0&&al=5)){b[i]=k;i++;)/*******必und******/returni;3程序设计假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:将字符串尾部的*号全部删除,前面和中间的*号不删除。voidfun(char*a){char*p=a;

38while(*p)p++;p-;while(*p=,*,)p-;p++;*p=0;}第44套1程序填空函数fun的功能是进行数字字符转换。若形参ch中是数字字符,则叱转换成,9,,T转换成,8,,’2,转换成79转换成P';若是其它字符则保持不变;并将转换后的结果作为函数值返回。第1处charfun(charch)第2处iHch>=’0'&&ch<='9')第3处return'9'next;

39doubleav=0.0;intn=0;while(p!=NULL){av=av+p->s;p=p->next;n++;}av/=n;returnav;}第45套1程序填空函数fun的功能是:把形参a所指数组中的偶数按原顺序依次存放到a[0]、a[l]、a[2]中,把奇数从数组中删除,偶数个数通过函数值返回。第1处ifi[a[i]%2==0){第2处a[j]=a[i]y-H-;第3处returnj;2程序修改给定程序AODH.C中函数fun的功能是:按以下递归公司求函数值。例如,当给n输入5时,函数值为18;当给n输入3时,函数值为14。10(n=l)fun(n)=fiin(n-l)4-2(n>1)#include/*******Cund******/fun(intn){intc;/******p=0;}第46套1程序填空给定程序中,函数ftm的功能是:利用指针数组对形参ss所指字符串数组中的字符串按由长到短的顺序排序,并输入排序结果。ss所指字符串数组中共有N个字符串,且串长小于Mo第1处k=i;第2处if(strlen(ps[k])

40ifi[n==l)c=10;elsec=fiin(n-l)+2;return(c);}3程序设计假定输入的字符串中只包含字母和*号。请编写函数fUn,它的功能是:使字符串中尾部的*号不得多于n个;若多于n个,则删除多余的*号;若少于或等于n个,则什么也不做,字符串中间和前面的*号不删除。voidfun(char*a,intn)char*p=a;intj=O;while(*p)p++;p—;while(*p=,*,)p-;P++;while(j

41{s+=y/(double)jc(i);y*=x;}returns;}第47套1程序填空给定程序中,函数fun的功能是:找出形参s所指字符串中出现频率最高的字母(不区分大小写),并统计出其出现的次数。第1处ch=tolower(*s);第2处k[n]+=l;第3处if|max

42s=s+1.0/(i*(i+l));returns;}第48套1程序填空给定程序中,函数fun的功能是:将形参s所指字符串中的数字字符转换成对应的数值,计算出这些数值的累加和作为函数值返回。第1处if(isdigit(*s))sum+=*s48;第2处s++;第3处returnsum;2程序修改给定程序MODI1.C中函数fun的功能是:计算小于形参k的最大的10个能被13或17整除的自然数之和。K的值由主函数传入,若k的值为500,则函数值为4622。intfiin(intk){intm=0,mc=0J;while((k>=2)&&(mc<10))(/*******found******/if((k%13==0)||(k%17=0)){m=m+k;mc++;}k・・;}returnm;/*******fbund******/3程序设计编写函数fun,它的功能是:求小于形参n同时能被3与7整除的所有自然数之和的平方根,并作为函数值返回。doublefun(intn)(doublesum=0.0;血i;fbr(i=21;i<=n;i-H-)if((i%3=0)&&(i%7==0))sum+=i;returnsqrt(sum);}第49套1程序填空给定程序中,函数fun的功能是:将形参s所指字符串所有ASCII码小于97的字符存入形参t所指字符数组中,形成一个新串,并统计出符合条件的字符个数作为函数值返回。第1处*(t+n)=*s;n-H-;}第2处s++;第3处returnn;2程序修改

43给定程序MODI1.C中函数fim的功能是:由形参给定n个实数,输出平均值,并统计在平均值以上(含平均值)的实数个数。intfun(floatx[],intn){/*******3und******/intj,c=0;floatxa=0.0;for(j=Oj

44,,,xa);fbr(j=Ou=xa)C++;returnc;)3程序设计编写函数ftin,其功能是:根据以下公式求p的值,结果由函数值带回。m与n为两个正整数且要求m>n。p=m!/(n!*(m-n)!)floatfun(intm,intn)(floatp;p=1,O*jc(m)/jc(n)/jc(m-n);returnp;第50套1程序填空给定程序中,函数ftin的功能是:有NxN矩阵,以主对角线为对称线,对称元素相加并将结果存放在左下三角元素中,右上三角元素来。第1处voidfun(int(*t)[N])第2处t[i][j]=t[i]U]+tU][i];第3处t[j][i]=O;2程序修改给定程序M0DI1.C中函数fun的功能是:计算函数的值,F(x,y,z尸(x+y)/(x-y)+(z+y)/(z-y)其中x和y的值不等,z和y的值不等。例如,当x的值为9、y的值为11、z的值为15时,函数值为350。/*******Cund******/#defineFU(m,n)((m)/(n))floatfun(floata,floatb,floatc){floatvalue;value=FU(a+b,a-b)+FU(c+b,c-b);/*******fbund******/return(value);)

453程序设计规定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:将字符串中的前导*号全部删除,中间和尾部的*号不删除。voidfiin(char*a){intj=0;char*p=a;while(*p==,*,)p++;while(*p){a[j++]=*P;p++;}a[j]=O;*第51套1程序填空给定程序中,函数firn的功能是:计算出形参s所指字符串中包含的单词个数,作为函数值返回。为便于统计,规定各单词之间用空格隔开。第1处n-H-;flag=l;}第2处iq*s==")flag=0;第3处S-H-;2程序修改给定程序MODI1.C中函数fun的功能是:从n(形参)个学生的成绩中统计出低于平均分的学生人数,此人数由函数值返回,平均分存放在形参aver所指的存储单元中。inffun(float*s,intn,float*aver){floatave,t=0.0;intcount=0,k,i;fbr(k=O;k

46第52套1程序填空给定程序中,函数fun的功能是将NxN矩阵中元素的值按列右移1个位置,右边被称出矩阵的元素绕回左边。第1处fbr(i=0;i

47,,,n);/*******f^ound******/returnt;)3程序设计编写函数fUn,它的功能是:求Fibonacci数列中大于t的最小的一个数,结果由函数返回。其中Fibonacci数列F(n)定义为:F(0)=0,F(l)=l,F(n)=F(n-l)+F(n-2)intfun(intt){intfD=O,fl=l,f;do{f=fD+fl;fO=fl;fl=f;}while(f

48直到|xn/n!|<10-6若x=2.5,函数值为:1.917915。第1处t=x;第2处t*=(-1.0)*x/n;第3处while(fabs(t)>=1e-6)2程序修改给定程序MODI1.C中函数fiin的功能是:求整数x的y次方的低3位值。例如,整数5的6次方为15625,此值的低3位值为625olongfun(intx,inty,long*p){inti;longt=l;/*******Cund******/fbr(i=l;iv=y;i++)t=t*s;*P=t;/*******必und******/t=t%1000;returnt;)3程序设计请编写函数firn,其功能是:计算并输出当x<0.97时下列多项式的值,直到|Sn-Sn-l|〈O.OOOOOI为止0.5(0.5-1)O,5(O.5-l)(O.5-2)0.5(0.5-l)(0.5-2)...(0.5-n+l)S=l+0.5xHxA2+x八3…+xAn2!3!n!doublefun(doublex){intn=l;doublesn=l;doublexn=l,xnl=0;while(fabs(xn-xnl)>=0.000001){xn=xn*x*(0.5-n+l)/n;n+=l;sn+=xn;}retum(sn);}第54套1程序填空给定程序中,函数fun的功能是:计算出带有头节点的单向链表中各节点数据域中值之和作为函数值返回。

49第1处s+=p->data;第2处p=p->next;第3处printf(ll

50sum=%d

51,,,fun(head));2程序修改给定程序M0DI1.C中函数fun的功能是:将s所指字符串中出现的与tl所指字符串相同的子串全部替换成t2所指字符串,所形成的新串放在w所指的数组中。在此处,要求tl和t2所指字符串的长度相同。intfun(char*s,char*tl,char*t2,char*w){inti;char*p,*r,*a;strcpy(w,s)while(*w){P=w;r=tl;/*******Cun(j******/while(*r)if(*r==*p){r++;p++;)elsebreak;if(*r==,\O,){a=w;『t2;while(*r){/*******f^ound******/*a=*r;a++;r++;)w+=strlen(t2);}elsew++;3程序设计函数fun的功能是:将s所指字符串中下标为偶数的字符删除,串中剩余字符形成的新串放在t所指数组中。voidfun(char*s,chart[])(intij=0;fbr(i=l;i

528.391667./*******found******/doublefiin(intn){inta=2,b=l,c,k;doubles=0.0;fbr(k=l;k<=n;k-H-){s=s+1.0*a/b;/*******Cund******/c=a;a+=b;b=c;

53return(s);)3程序设计请编写函数fim,函数的功能是:将大于形参m旦紧靠m的k个素数存入xx所指的数组中。例如,若输入17,5,则应输出:19,23,29,31,37,函数firn中给出的语句仅供参考。voidfun(intm,intk,intxx[]){intij=l,t=m+l;while(j<=k)(fbr(i=2;i

54,,,fw);第3处printf("%s”,str);2程序修改给定程序MODI1.C中函数firn的功能是:从低位开始取出长整型变量s中奇数位上的数,依次构成一个新数放在t中。高位仍在高位,低位仍在低位。/*******found******/voidfun(longsjong*t){longsl=10;*t=s%10;while(s>0){s=s/100;*t=s%10*sl+*t;/*******Cund******/sl=sl*10;

55函数ftin的功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数个位和百位h,b数的十位和个位数依次放在c数的千位和十位上。voidfun(inta,intb,long*c)*c=(b/l0)*1000+(a%10)*100+(b%10)*10+(a/10);第57套1程序填空函数ftm的功能是:把形参a所指数组中的最小值放在元素a[0]中,接着把形参a所指数组中的最大值放在a[l]元中:再把a所指数组中的次小值放在a[2]中,把a所指数组元素中的次大值放在a[3];其余以此类推。第1处max=min=a[i];第2处if(maxa[j])2程序修改给定程序MODI1.C中函数ftin的功能是:用递归算法计算斐波拉契数列中第n项的值。从第1项起,斐波拉契数列为:1、1、2、3、5、8、13、21longfun(intg)(/*******Cun(i******/switch(g){case0:return0;/*******fbund******/case1:retumI;case2return1;}return(fun(g-1)+fun(g-2));3程序设计某学生的记录由学号、8门课程成绩和平均分组成,学号和8门课程成绩已在主函数中给出。请编写函数ftm,它的功能是:求出该学生的平均分放在记录的ave成员中。voidfun(STREC*a){inti;fbr(i=0;iave=a->ave+a->s[i];a->ave/=N;}第58套1程序填空给定程序中,函数fun的功能是;把形参s所指字符串中最左边的n个字符复制到形参t所指字符数组中,形成一个新串,若s所指字符串的长度小于n,则将整个字符串复制到形参t所指字符数组中。

56第1处if(n>=len)strcpy(t,s);第2处t[j++]=s[i];第3处t[j]=O;2程序修改给定程序M0DI1.C中函数fun的功能是:找出一个大于形参m且紧随m的素数,并作为函数值返回。intfiin(intm){inti,k;fbr(i=m+l;;i++){fbr(k=2;k=i)return(i);}3程序设计编写函数fun,它的功能是:求出能整除形参x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。voidfun(intx,intpp[],int*n){inti;*n=0;fbr(i=l;i<=x;i-H-)ifi((x%i=0)&&(i%2))pp[(*n)++]=i;}第59套1程序填空给定程序中,函数fun的功能是:在3x4的矩阵中找出在行上最大,在列上最小的那个元素,若没有符合条件的元素则输出相应信息。第1处max=a[i][j];c=j;}第2处find=0;第3处i++;2程序修改给定程序M0DI1.C中函数fun的功能是:根据整形形参m的值,计算如下公式的值。……例如:若m中的值为:5,则应输出:0.536389。t=l-l/(2*2)-l/(3*3)-......doublefun(intm){doubley=1.0;inti;

57/*******必und******/fbr(i=2;i<=m;i-H-)/*******Cund******/y-=1.0/(i*i);return(y);}3程序设计m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人数作为函数值返回,将低于平均分的分数放在below所指的数组中。intfun(intscore[],intm,intbclow[])(floatav=0.0;intij=0;fbr(i=0;iscore[i])below[j-H-]=score[i];returnj;}第60套1程序填空给定程序中,函数fun的功能是:将形参指针所指结构体数组中的三个元素按num成员进行升序排列。第1处voidfun(PERSON*std)第2处PERSONtemp;第3处fun(std);2程序修改给定程序MODI1.C中函数fun的功能是:将m(lWmW10)个字符串连接起来,组成一个新串,放入pt所指存储区中。intfun(charstr[][10],intm,char*pt){/*******砧und******/intk,q,i;fbr(k=O;k

583程序设计程序定义了NxN的二维数组,并在主函数中自动赋值。请编写函数fun(inta[][N]),函数的功能是:使数组左下三角元素中的值全部置成0。intfun(inta[][N])intij;for(i=0;i='a')&&(ch<='z'))第2处returnch+'a'-'A'第3处returnch;2程序修改给定程序MODI1.C中函数firn的功能是:给一维数组a输入任意4个整数,并按下列的规律输出。例如输入1、2、3、4,程序运行后将输出以下方阵。4123341223411234/*******Cund******/voidfiin(int*a){intij,k,m;printf(MEnter4number:fbr(i=0;i

59

60Theresult:fbr(i=M;i>0;i-){k=a[M-l];fbr(j=M-lij>Oy-)/*******found******/aLj]=a[H];a[0]=k;fbr(m=0;m

61请编写一个函数ftjn,它的功能是:计算并输出给定整数n的所有因子(不包括1与n自身)之和。规定n的值不大于lOOOointfun(intn)(ints=0,i;fbr(i=2;i

62while(*p){if(*p>='a'&&*p<='z')pp[*p-'a']+=l;p++;第63套1程序填空给定程序中,函数(Un的功能是:有NxN矩阵,根据给定的m(m<=N)值,将每行元素中的值均右移m个位置,左边值为0。第1处fbr(i=0;i0,000001);

63returnx1;)第64套1程序填空给定程序中,函数ftm的功能是:将a所指3/5矩阵中第k列的元素左移到第0列,第k列以后的每列元素行依次左移,原来左边的各列依次绕到右边。第1处fbr(p=l;p<=k;p++)第2处for(j=Oj

64456123101112第1处voidfun(int(*a)[N],intk)第2处fbr(i=0;itU+l])(c=t[j];切]=切+1];tU+l]=c;3程序设计请编写一个函数fun,其功能:将ss所指字符串中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换)。voidfun(char*ss){char*p=ss;inti=0;while(*p){if((i%2)&&(*p>=,a,&&*p<=,z,))*p-=32;p++;i++;第66套1程序填空给定程序中,函数ftm的功能是:将形参std所指结构体数组中年龄最大者的数据作为函数值返回,并在main函数中输出。第1处max=*std;第2处if(max.age

65max=std[i];第3处printfi["

66Name:%s,Age:%d

67”,max.name,max.age);2程序修改给定程序MODILC中函数firn的功能是:实现两个整数的交换。例如给a和b分别输入:60和65,输出为:a=65b=60/♦******£Qyp^j******/voidfun(int*a,int*b){intt;/*******^)und******/t=*b;*b=*a;*a=t;3程序设计请编一个函数voidfun(inttt[M][N],intpp[N]),tt指向一个M行N列的二维数组,求出二维数组每列中最小元素,并依次放入pp所指一维数组中。二维数组中的数已在主函数中赋予。voidfun(inttt[M][N],intpp[N])(intij,min,k;fbr(i=O;itt[j][i]){min=tt[j][i];k=j;}pp[i]=tt[k][i];第67套1程序填空给定程序中,函数fun的功能是:调用随机函数产生20个互不相同的整数放在形参a所指数组中(此数组在主函数中已置0)。第1处while(n

68/*******f^)und******/sum=O;fbr(i=0;i<3;i++){fbr(j=0u<3j-H-)/*******f^ound******/scanfC‘%d”,&a[i][j]);}fbr(i=0;i<3;i++)sum=sum+a[i][i];printf(MSum=%d

69,,,sum);}3程序设计编写程序,实现矩阵(3行3歹IJ)的转置(即行列互换)intfun(intarray[3][3]){inti,j,arr[3][3];memcpy(arr,array,9*sizeof(int));fbr(i=0;i<3;i-H-)fbr(j=0u<3j-H-)array[i]|j]=arr[j][i];)第68套1程序填空给定程序中,函数fUn的功能是:求ss所指字符串数组中长度最长的字符串所在的行下标,作为函数值返回,并把其串长放在形参n所指变量中。ss所指字符串数组中共M个字符串,且串长

703程序设计编写一个函数,该函数可以统计一个长度为2的字符串在另一个字符串中出现的次数。intfun(char*str,char*substr){intcnt=O;char*p=str,*q;while(*p){q=strstr(p,substr);if(q==NULL)break;p=q+strlen(substr);cnt++;)第69套1程序填空给定程序中,函数fun的功能是将a和b所指的两具字符串转达换成面值相同的整数,并进行相加作为函数值返回,规定字符串只含9个以下数字字符。第1处d=d*10+*s-'0*;第2处s-H-;第3处returnctod(a)+ctod(b);2程序修改给定程序M0DI1.C中函数ftin的功能是:分别统计字符串大写字母和小写字母的个数和。voidfiin(char*s,int*a,int*b)(while(*s){if(*s>=,A,&&*s<=,Z,)/*******必und******/*a=*a+l;if(*s>=,a,&&*s<=,z,)/*******f^ound******/*b=*b+l;s++;*3程序设计请编写函数fun,函数的功能是使用实型整数保留2位小数,并对第三位进行四舍五入(规定实型数为正数)floatfun(floath)(longw;w=h*100+1.5;return(float)w/l00;第70套1程序填空给定程序中,函数fun的功能是:计算形参x所指数组中N个数的平均值(规定所有

71数均为正数),作为函数值返回,并将大于平均值的数放在形参丫所指数组中,在主函数中输出。第1处av=O;第2处av=av+x[i]/N;第3处y[j++]=x[i];2程序修改给定程序M0DI1.C中函数fun的功能是:根据整型形参m,计算如下公式的值。1/100*100+1/200*200+1/300*300++1/m*m。/*******found******/doublefun(intm){doubley=0,d;inti;/*******必川记******/fbr(i=100;i<=m;i+=100){d=(double)i*(double)i;y+=L0/d;}return(y);}3程序设计已知学生的记录由学号和学生成绩构成,N名学生的数据已存入a结构体数组中,请编写函数的功能是:找出成绩最低的学生记录,通过形参返回主函数(规定只有一个最低分)ftin(STUa[],STU*s)Iinti,min=a[0],s,j=0;fbr(i=l;ia[i].s){月;min=a[i].s;}*s=a[j];*第71套1程序填空给定程序中,函数ftm的功能是,将形参s所指字符串中的所有数字字符顺序前移,其他字符顺序后移,处理后新字符串的首地址作为函数值返回。第1处p[j]=s[i];j++;}第2处fbr(i=O;i

72{intij;charch;i=Ou=strlen(b)-l;/*******f^ound******/while(i

73fbr(i=O;ivd;i++)t[i]=s[i];fbr(i=O;ie)第3处x=(2*i+l)/(t*t);2程序修改给定程序MODI1.C中函数fun的功能是:求出以下分数序列的前n项之和。2/1,3/2,5/2,8/5,13/8,31/13…和值通过函数值返回到main函数。/************/doublefiin(intn){inta,b,c,k;doubles;s=0.0;a=2;b=l;fbr(k=1;kv=n;k++){/*******Cund******/s=s+(double)a/b;c=a;a=a+b;b=c;returns;3程序设计

74请编写一个函数fun,它的功能是:求出一个2xM整型二维数组中最大元素的值,并将此值返回调有函数。ftin(inta[][M]){inti,j,max=a[O][O];fbr(i=0;i<2;i-H-)fbr(j=Oy

75第1处fbr(j=i+lu=O;j—)b[i++]=s[j];strcpy(s,b);)第76套1程序填空给定程序中,函数ftin的功能是:计算下式前5项的和作为函数值返回。s=l'3/22-3x5/42+5x7/62-+(-1)n-l(2xn-l)x(2xn+l)/(2xn)2例如,当形参n的值为的时,函数返回:-0.204491。第1处k=l;第2处t=2*j;第3处k=k*(-l);2程序修改给定程序MODI1.C中函数ftin的功能是:判断一个整数是否是素数,若是返回1,否则返回0=intfiin(intm){intk=2;while(k<=m&&(m%k))/*******f^ound******/k++;/*******^)und******/ifl(m==k)return1;elsereturn0;}3程序设计请编写一个函数fun,它的功能是:找出一维整型数组元素中最大的值和它所在的下标,最大的值和它所在的下标通过形参传回。数组元素中的值已在主函数中赋予。主函数中X是数组名,n

76是x中的数据个数,max存放最大值,index存放最大值所在元素的下标。voidfun(inta[],intn,int*max,int*d){inti;*max=a[0];*d=0;for(i=l;i0){d=s%10;/*******!qqp^******/if((d%2!=0){*t=d*sl+*t;sl*=10;}s/=10;3程序设计编写一个函数fun,它的功能是:实现两个字符串的连接(不使用库函数strcat),即把p2所指的字符串连接到pl所指的字符串后。voidfiin(charp[],charp2[]){char*p=p1;while(*p)p++;while(*p2)*p++=*p2++;

77*p=0;}第78套1程序填空给定程序中,函数ftin的功能是:将NxN矩阵主对角线元素中的值与反向对角线对应位置上元素中的值进行交换。例如,若N=3有下列矩阵:123456789交换后:321456987第1处voidfiin(intt[][N],intn)第2处fbr(i=O;ihigh,查找结束。/*******Cund******/fiin(inta[],intm){intlow=0,high=N-l,mid;while(low<=high){mid=(low+high)/2;if(ma[mid])low=mid+l;elsereturn(mid);)return(-1);3程序设计假定输入的字符串中只包含字母和*号,请编写函数fun,它的功能是:除了尾部的*号之外,将字符串中其它*全部删除。形参p已指向字符串中最后一个字母。在编写函数时,不得使用C语言提供的字符串函数。voidfun(char*a,char*p)(char*q=a;intj=O;while(*q&&q

78while(*p)a[j++]=*p++;a[j]=O;}第79套1程序填空给定程序中,函数fun的功能是:求ss所指字符串数组中长度最短的字符串所在的行下标,作为函数值返回,并把其串长放在形参n所指变量中。Ss所指字符串数组中共的M个字符串,且串长

79给定程序MODI1.C中函数fun的功能是:输出M行M列整数方阵,然后求两条对角线上元素之和,返回此和数。/*******Cund******/intfun(intn,intxx[][M]){inti,j,sum=0;printfC4

80The%dx%dmatrix:

81,\M,M);fbr(i=0;i=,0,&&s[i]<=,9,)第2处while(s[i+l+n]!=0)n++;第3处s[j+l]=s[j];2程序修改给定程序MODI1.C中函数fun的功能是:根据整形形参m=l,计算如下公式的值。m=l+l/2*2+l/3*3+l/4*4...1/m*m例如,若m中的值为:5,则应输出1.463611。doublefun(intm){doubley=1.0;inti;/*******砧und******/fbr(i=2;i<=m;i4-H-)/*******砧und******/y+=1.0/(i*i);return(y);

82}3程序设计编写函数ftm,函数的功能是:实现B=A+A1即把矩阵A加上A的转置,存放在矩阵B中。计算结果在main函数中输出。voidfun(inta[3][3],intb[3][3])(intc[3][3];intij;fbr(i=0;i<3;i++)fbr(j=0u<3j++){c[i]U]=aU][i];b[i][j]=a[i]U]+c[i]U];第82套1程序填空给定程序中,函数fun的功能是:找出100〜999之间(含100和999)所有整数中各位上数字之和为x(x为一正整数)的整数,然后输出:符合条件的整数个数作为函数值返回。第1处while(t<=999)第2处s1=t%10;s2=(t/10)%10;s3=t/100;第3处if0){s=s/100;*t=s%10*sl+*t;sl=sl*10;3程序设计学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数%n,它的功能是:按分数的高低排列学生的记录,高分在前。intfun(STRECa[]){STRECtmp;intij;

83fbr(i=O;ib?(b>c?b:(a>c?c:a)):((ac)?c:b));2程序修改

84给定程序MODI1.C中函数ftm的功能是:首先将大写字母转换为对应小写字母:若小写字母为a〜u,则将其转换为其后的第5个字母;若小写字母为v〜z,使其值减21。转换后的小写字母作为函数值返回。charfun(charc){ifi(c>=,A,&&c<=,Z,)/*******Cund******/c=c+32;ifi[c>=,a,&&c<=,u,)/*******found******/c=c+5;elseif(c>=,v,&&c<=,z,)c=c-21;returnc;}3程序设计请编写函数fun,其功能是:计算并输出……例如,在主函数中从键盘给n输入20后,输出为:s=534.188884c注意:要求n的值大于1但不大于100。doublefiin(intn)inti;doublefac=1.0;doublesum=1.0;fbr(i=2;i<=n;i-H-){fac-+-=sqrt(i);sum+=fac;)returnsum;第85套1程序填空给定程序的功能是调用fun函数建立班级通讯录。通讯录中记录每位学生的编号、姓名和电话号码。班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat的二进制文件中。第1处intfun(STYPE*std)第2处FILE*fp;inti;第3处fwrite(&std[i],sizeof(STYPE),1,fp);2程序修改给定程序MODI1.C中函数fun的功能是:先将在字符串s中的字符按正序存放到t串中,然后把s中的字符按逆序连接到t串的后面。voidfun(char*s,char*t){inti,sl;sl=strlen(s);/*******fbund******/fbr(i=O;i

85/*******Cund******/t[2*sl]=0;}3程序设计函数fun的功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的千位和十位上,b数的十位和个位数依次放在c数的百位和个位上。voidfun(inta,intb,long*c){*c=(a/10)*1000+(b/10)*l00+(a%10)*1(H(b%10);第86套1程序填空甲乙丙丁四人同时开始放鞭炮,甲每隔tl秒放一次,乙每隔t2秒放一次,两每隔t3秒放一次,丁每隔t4秒放一次,每人各放n次。函数fun的功能是根据形参提供的值,求出总共听到多少次鞭炮声作为函数值返回。注意,当几个鞭炮同时炸响,只算一次响声,第一次响声是在第0秒。第1处maxt=tl;第2处fbr(t=1;tc&&b+c>a&&a-i-c>b){iRa=b||b==c)return3;elseififa==b||b=c||a=c)return2;/*******砧und******/elsereturn1;)elsereturn0;}3程序设计编写函数ftm,其功能是:计算并输出3到n之间(含3和n)所有素数的平方根之和。doublefiin(intn){intij=0;

86doubles=0;fbr(i=3;i<=n;i++){fbr(j=2j

87}returns;)第88套1程序填空函数fun的功能是:反形参a所指数组中的最大值放在a[0]中,接着求出a所指数组中的最小值放在a[l]中;再把a所指数组元素中的次大值放在a[2]中,把a数组元素中的次小值放在a[3]中:藁以此类推。第1处voidfun(int*a,intn)第2处fbr(i=0;i

88)第89套1程序填空给定程序中,函数fim的功能是:求出形参aa所指字符串数组中最长的字符串的长度,其余字符串左边用字符*补齐,使其与最长的字符串等长。字符串数组中共有M个字符串,且串长=Oj--)第3处ss[i][j]=,*,;2程序修改给定程序MODI1.C中fun函数的功能是:计算整数n的阶乘。请改正程序中的错误或在下划线处填上适当的内容并把下划线删除,使它能计算出正确的结果。doublefun(intn)doubleresult=1.0;while(n>l&&n<170)/*******Cun(j******/result*=n—;/*******Cund******/returnresult;)3程序设计编写函数fun,它的功能是:从s所指的字符串删除给定的字符。同一字母的大、小写按不同字符处理。intfun(chars[],charc)(char*p=s;inti=0;while(*p){if(*p!=c)s[i++]=*p;P++;}s[i]=0;第90套1程序填空函数fun的功能是:统计所有小于等于n(n>2)的素数的个数,素数的个数作为函数值返回。第1处fbr(j=2j=i)2程序修改数列中,第一项值为3,后一项都比前一项的值增5:给定程序MODI1.C中函数fun的功能是:计算前n(4

89{intij,k,sum;/*******fbund******/sum=0;j=0;fbr(k=3,i=O;il&&n<=100){for(i=l;i<=n;i++)sum+=1.0/(2*i-1)-1.0/(2*i);}returnsum;)第91套1程序填空给定程序中,函数fun的功能是计算f(x)=l+x+x2/2!+…+xn/n!直至lJ|x/n!|<10-6若x=2.5,函数值为:12.182494。第1处f^l.O+x;第2处t*=x/n第3处f^=t;2程序修改给定程序MODI1.C中函数fun的功能是:计算n的5次方的值(规定n的值大于2小于8),通过形参指针传向主函数;并计算该值的个位、十位、百位上数字之和作为函数值返回。intfun(intn,int*value){intd,s,i;/*******砧und******/d=1;s=0;fbr(i=l;i<=5;i-H-)d=d*n;*value=d;fbr(i=l;i<=3;i-H-){s=s+d%10;/*******3u[]d******/d=d/10;

90}returns;3程序设计编写函数fiin,它的功能是:计算并输出给定数组(长度为9)中每相邻两个元素之平均值的平方根之和。doublefun(doublex[9]){inti;doubleavg=0.0,sum=0.0;fbr(i=0;i<8;i-H-){avg=(x[i]+x[i+l])/2;sum+=sqrt(avg);)returnsum;)第92套1程序填空给定程序中,函数fim的功能是:计算f(x)=l+x+x2/2!+…+xn/n!的前n项。若x=2.5,函数值为:12.182340.的前n项。若x=2.5,函数值为:12.182340。第1处t=l;第2处fbr(i=l;i

91inti;doubleavg=0.0,sum=0.0,abs=0.0,fc;fbr(i=0;i<10;i-H-)sum+=x[i];avg=sum/10;fbr(i=0;i<10;i+4-)abs+=(x[i]-avg)*(x[i]-avg);fc=sqrt(abs/10);returnfc;}第93套1程序填空给定程序中已建立一个带有头结点的单向链表,在main函数中将多次调用fun函数,每调用一次fun函数,输出链表尾部结点中的数据,并释放该结点,使链表缩短。第1处t=t->next;第2处printf("%d”,t->data);第3处free(t);2程序修改给定程序MODI1.C中fun函数的功能是:将字符串中的字符按逆序输出,但不改变字符串的内容。/*******Cun(i******/fun(char*a){ifl*a){fun(a+l);/*******Cund******/prin氓"%c”,*a);}}3程序设计编写一个函数fun,它的功能是:比较两个字符串的长度,(不得调用C语言提供的求字符串长度的函数),函数返回较长的字符串。若两个字符串长度相同,则返回第一个字符串。char*fiin(char*s,char*t){inti;char*p=s,*q=t;fbr(i=O;*p&&*q;i-l-l-){p++;q++;}if(*p==0&&*q==0)returns;if(*p)returns;elsereturnt;

92第94套1程序填空函数fun的功能是计算fi[x)=l+x-2/2!+3/3!44!+……的前n项和。若x=2.5,n=15时,函数值为1.917914前n项之和。若x=2,n=5时,函数值为:1.917914。第1处1H;第2处t*=(-l)*x/i;第3处fb=t;2程序修改给定程序M0DI1.C中函数fun的功能是:从3个红球,5个白球,6个黑球中任意取出8个作为一组,进行输出。在每组中,可以没有黑球,但必须要有红球和白球。组合数作为函数值返回。正确的组合数应该是15。程序中i的值代表红球数,j的值代表白球数,k的值代表黑球数。intfun(){intij,k,sum=O;printff'WTheresult:

93

94M);/*******Cund******/for(i=l;i<=3;i++){fbr(j=lj<=5j++){k=8-i-j;/*******Cun(i******/ifi(k>=0&&k<=6){sum=sum+1;printf(fc4red:%4dwhite:%4dblack:%4d

95,,,ij,k);returnsum;}3程序设计请编写函数firn,其功能是:计算并输出下列多项式的值:sn=l+l/l!+l/2!+l/3!+l/4!+…1/n!例如:在主函数中从键盘给n输入15,则输出为:s=2.718282。注意:要求n的值大于1但不大于100odoublefun(intn){doubles=l;longt=l;inti;fbr(i=l;i<=n;i-H-){t=t*i;s+=l.O/t;}returns;第95套1程序填空给定程序中,函数fiin的功能是:计算N*N矩阵的主对角线元素和反向对角线元素之

96和,并作为函数值返回。注意:要求先累加主对角线元素中的值,然后累加反向对■角线元素的值。第1处sum=O;第2处sum+=t[i][i];第3处sum+=t[i][n-i-l];2程序修改给定程序MODI1.C中函数fun和funx的功能是:用二分法求方程2x34x2+3x-6=0的一个根,并要求绝对误差不超过0.001odoublefun(doublem,doublen)(/*******Cun(i******/doubler;r=(m+n)/2;/*******fbund******/while(fabs(n-m)>0,001){if(funx(r)*funx(n)<0)m=r;eslen=r;r=(m+n)/2;}returnr;3程序设计假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:除了字符串前导和尾部的*号之外,将串中其他*号全部删除。形参h已指向字符串中第一个字母,形参p已指向字符串中最后一个字母。在编写函数时,不得使用c语言提供的字符串函数。voidfun(char*a,char*h,char*p){intj=0;char*q=a;while(*q&&q

97第1处t阿第2处fbr(j=N-lu>=O;j-)第3处t[j][N-l]=rU];2程序修改给定程序M0DI1.C中函数fUn的功能是:计算s=f(-n)+f(-n+l)+……+f(O)+f(1)+f(2)+……+f(n)的值。例如,当n为5时,函数值应为:10.407143。/*******^)und******/doublef(doublex)(ifi(x==0.0||x=2.0)return0.0;elseif

982程序修改给定程序MODH.C中函数fun的功能是:将一个由八进制数字字符组成的字符串转换为与其面值相等的十进制整数。规定输入的字符串最多只能包含5位八进制数字字符。intfiin(char*p){intn;/*******Cun(j******/n=*p-'O';P++;while(*p!=O){/*******Cun(i******/n=n*8+*p-'O';P++;}returnn;)3程序设计学生的记录由学号和成绩组成,N名学生的数据已在主函数中的放入结构体数组s中,请编写函数ftm,它的功能是:函数返回指定学号的学生数据,指定的学号在主函数中输入,若没找到指定学号,在结构体变量中给学号置空串,给成绩置-1,作为函数值返回。(用于字符串比较的函数是strcmp)。STRECfun(STREC*a,char*b)ISTRECc;inti;c.num[O]=,\O,;c.s=-l;fbr(i=O;idata=ch)retumn;第3处k=fun(head,ch);2程序修改给定程序M0DI1.C中函数fun的功能是:删除p所指字符串的所有空白字符(包括制表符、

99回车符及换行符)。输入字符串时用‘#'结束输入。fiin(char*p){inti,t;charc[80];/*******f^ound******/fbr(i=O,t=O;p[i];i-H-)if{!isspace(*(p+i)))c[t++]=p[i];/*******Cund******/c[t]=,\O';strcpy(p,c);}3程序设计请编写一个函数fim,将ss所指字符串中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换)。voidfun(char*ss)(inti;fbr(i=1;i='a,&&ss[i]<=,z')ss[i]-=32;第99套1程序填空函数fun的功能是:将形参观者工所指数组中的前半部分元素中的值和后半部分元素中的值对换。形参n中存放数组中数据的个数,若n为奇数,则中间的元素不动。第1处p=(n%2=0)?n/2:n/2+l;第2处a[i]=a[p+i];第3处a[p+i]=t;2程序修改给定程序MODH.C中函数fun的功能是:把主函数中输入的3个数,最大的放在a中,最小的放在c中,中间的放在b中。voidfun(float*a,float*b,float*c)(/*******Cund******/floatk;if(*a<*b){k=*a;*a=*b;*b=k;}/*******必und******/if(*a<*c){k=*a;*a=*c;*c=k;}ifi[*b<*c){k=*b;*b=*c;*c=k;}}3程序设计学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把分数最高的学生数据放在b所指的数组中,注意:分数最高的学生可能不止一个,函数返回分数最高的学生的人数。intfun(STREC*a,STREC*b){inti,max=a[O].s,n=O;fbr(i=l;i

100fbr(i=O;i

101第一空:{t=*n%10;第二空:if(t%2!=0)第三空:*n=x;1.程序修改给定程序modil.c中函数fiin的功能是:计算n!.例如,给n输入5,则输出120.00定00。doublefun(intn){doubleresult=1.0;/*****Cund******/if(n==0)return1.0;while(n>1&&n

102fbr(i=Oj=O;s[i]!=,\O,;i++)if(s[i]>=>0,&&s[i]<=,9,)/♦****found******/s[j++]=s[i];/*****found******/s[j]=,\O';}1.程序设计题请编写函数fun,函数的功能是:将M行N列的二维数组中的字符数据,按列的顺序依次放到一个字符串中。voidfun(chars[][N],char*b){intij,n=0;fbr(i=0;inext=null;fbr(i=l;i<=n;i-H-){s=(NODE*)malloc(sizeof(NODE));

103s->data=rand()%m;s->next=p->next;p->next=s;p=p->next;}/*****Cund******/returnh;}1.程序设计请编写函数ftm,函数的功能是:统计一行字符串中单词的个数,作为函数值返回。一行字符串在主函数中输入,规定所有单词由小写字母组成,单词之间由若干个空格格开,一行的开始没有空格。intfiin(char*s)(intk=l;while(*s){if(*s=M)k++;s++;}returnk;第四套1.程序填空程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是从形参filename所指的文件中读入学生数据,并按照学号从小到大排序后,再用二进制方式把排序后的学生数据输出到filename所指的文件中,覆盖原来的文件内容。第1处母=fopen(filename,"rb");第2处if(s[i].sno>s[j].sno)第3处fwrite(s,sizeof(STU),N,fp);2.程序修改给定程序MODH.C中函数fun的功能是:在字符串的最前端加入n个*号,形成新串,差且覆盖原串。注意:字符串的长度最长允许为79.voidfiin(chars[],intn)(chara[80],*p;inti;/*****Cund******/p=s;fbr(i=O;i

104while(*p++)a[i]=0;strcpy(s,a);}1.程序设计请编写函数fun,函数的功能是:统计各年龄段的人数,N个年龄能过调用随机函数获得,并放在主函数的age数组中:要求函数把0至9岁的年龄段的人数放在d[0]中,把10至19岁的年龄段的人数放在d[l]中,把20至29岁的年龄段的人数放在d[2]中,其余依次类推,把100岁(含100岁)以上年龄的人数都放在d[10]中。结果在主函数中输出。voidfun(int*a,int*b){intij;fbr(i=0;i10)b[M-l]++;elseb[j]H-+;第五套1.程序填空给定程序中,函数fim的功能是将参数给定的字符串、整数、浮点数写到文件文件中,再用字符串方式从此文本文件中逐个读入,并调用库函数atoi和atof将字符串换成相应的整数和浮点数,然后将其显示在屏幕上。第1处:FILE*fp;第2处:fclose(fp);第3处:fscanf(fp,,,%s%s%s,,,str,strl,str2);2.程序修改给定程序MODH.C中函数fun的功能是:对N名学生的学生成绩,按从高到低的顺序找出前m(m<10)名学生来,将这些学生数据存放在一个动态分配的连续存储区中,此存储区的首地址作为函数值返回。STU*fun(STUa[],intm){STUb[N],*t;intij,k;/*****Cund******/t=(STU*)calloc(sizeof(STU),m);fbr(i=O;ibU].s)j=i;/*****Cund******/t[k]=bU];b[j].s=O;}returnt;

105}1.程序设计请编写函数fun,函数的功能是,删去一维数组中所有相同的数,使之只剩一个。数组中的数已按从小到大的顺序排序,函数返回删除后数组中数据的个数。intfiin(inta[],intn){intij=l,k=a[0];for(i=l;i/*****^Qund******/char*fun(char*s,char*t)(intsl=O,tl=O;char*ss,*tt;ss=s;tt=t;while(*ss){S1++;/*****必und******/ss-H-;)while(*tt){tl++;/*****found******/tt-H-;if(tl>sl)returnt;

106elsereturns;}1.程序设计请编写函数fun,函数的功能是:移动字符串中的内容,移动的规则如下:把第1到第m个字符,平均移到字符串的最后,把第m+1个到最后的;字符移到字符串的前部。voidftin(char*w,intm)(inti;fbr(i=0;ia[m])m=k;t=a[i];a[i]=a[m];a[m]=t;)3.程序设计请编写一个unsignedfiin(unsignedw),w是一个大于10的无符号整数,若w是n(n>=2)位的整数,函数求出w的后n-1位的数作为函数值返回。例如:w值为5923,则函数返回923;w值为923则函数返回23。unsignedfun(unsignedw){if(w>=10000)returnw%10000;if(w>=1000)returnw%1000;if(w>=100)returnw%100;returnw%10;

107)第八套1.程序填空给定程序通过定义并赋值的方式,利用结构体变量存储了一名学生学号、姓名和3门课的成绩。函数fun的功能是将该学生的各科成绩都乘以一个系统a。第1处voidmodify(STU*ss,floata)第2处ss->score[i]*=a;第3处modify(&std,a);2.程序修改给定程序MODI1.C中函数fun的功能是:求k!<13>,所求阶乘的值作为函数值返回。例如:若k=10,则应输出:3628800.longfiin(intk)(/*****Cund******/if(k>0)return(k*fiin(k-l));/*****Cund******/elseif(k=O)returnIL;)3.程序设计程序定义了N*N的二维数组,并在主函数中自动赋值。清编写函数fun(inta[][N],intn),函数的功能是:使数组左下三角元素中的值乘以n。intfun(inta[][N],intn){intij;fbr(i=O;inext;第2处while(q)第3处p=p->next;2.程序修改给定程序MODI1.C中函数firn的功能是:将s所指字符串中的字母转换为按字母序列的后续字母(但Z转换为A,z转换成a),其它字符不变。voidfun(char*s){/*****8血(]******/while(*s)

108{ifi(*s>,A,&&*s<=,Z,||*s>=,a,&&*s<=,z,){if(*s=,Z,)*s=W;elseif(*s==,z,)*s=,a,;else*s=*s+l;}/*****Cund******/s++;*)3.程序设计voidfun(int*w,intp,intn){intij=0,b[N];fbr(i=p+1;idoublefun(intm)doublet=1.0;inti;fbr(i=2;i<=m;i-H-)t=t-1.0/i;returnt;)3程序设计请编写一个函数,函数的功能是删除字符串中的所有空格。intfun(char*str)1char*p=str;inti=0;while(*p){

109if(*p!=,,)str[i+4-]=*p;p++;}str[i]=O;*第十一套1程序填空给定程序中,函数fun的功能是将带头结点的单向链表逆置。即若原链表中从头至尾结点数据域依次为:2、4、6、8、10,逆置后,从头至尾结点数据域依次为:10、8、6、4、2、。第1处p=h->next;第2处if(p=0)return;第3处p=q;q=r;1.程序修改给定MODH.Cfun函数的功能是:计算s所指字符串中含有t所指字符串的数目,并作为函数值返回。请改正函数fun中指定部位的错误,使它能得出正确的结果。#include#include#defineN80intfun(char*s,char*t){intn;char*p,*r;n=0;while(*s){P=s;/*******Cun(j******/r=t;while(*r)ifi(*r=*p){rH-;p++;}elsebreak;/*******必und******/if(*r==0)n++;s++;)returnn;}3程序设计请编写函数fun,函数的功能是:将放在字符串数组中的M个字符串(每串的长度不超过N),按顺序合并组成一个新的字符串,函数fun中给出的语句供供参考。voidfun(chara[M][N]),char*b){inti;*b=0;fbr(i=O;i

110第十二套1程序填空给定程序中,函数fim的功能是将不带头结点的单向链表逆置。即若原链表中从头至尾结点数据域依次为:2、4、6、8、10,逆置后,从头至尾结点数据域依次为:10、8、6、4、2。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。第1处NODE*fun(NODE*h)第2处r=q->next;第3处q=r;2程序修改给定程序MODI1.C中函数fun的功能是:将s所指字符串中位于奇数位置的字符或ASCII码为偶数的字符放入t所指数组中(规定第一个字符放在第0位中).#include#include//defineN80voidfun(char*s,chart[]){intij=0;fbr(i=O;ivoidfun(int(*s)[10],int*b,int*n,intmm,intnn)intij,np=O;fbr(i=O;inext;第2处q=p->next;第3处ifi(p->data>=q->data))2程序修改给定程序MODI1.C是建立一个带头结点的单向链表,并用随机函数为各结点数据域赋值。函数fun的作用是求出单向链表结点(不包括头结点)数据域中的最大值,并且作为函数值返回。请改正函数firn中指定部位的错误,使它能得出正确的结果。fun(NODE*h){intmax=-l;

111NODE*p;/*******3und******/p=h->next;while(p){if(p->data>max)max=p->data;/*******必und******/p=p->next;returnmax;}3程序设计请编写函数firn,函数的功能是:将M行N列的二维数组中的数据,按行的顺序依次放到一维数组中。一维数组中数据的个数存放在形参n所指的存储单元中。voidfiin(int(*s)[10],int*b,int*n,intmm,intnn){intij,k;fbr(i=O;inext;while(p){if(p->data%2=0)

112sum+=p->data;/*******Cund******/p=p->next;returnsum;3程序设计请编写函数fun,函数的功能是:判断字符串是否为回文?叵是,函数返回1,主函数中输出:YEX,否则返回0,主函数中输出NO。回文是指顺读t和倒读都一样的字符串。intfun(char*str){intij=strlen(str);fbr(i=0;i=O)&&(ch

1133程序设计N名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。请编写函数fun,它的功能是:找出学生的最高分,由函数值返回。doublefun(STREC*h)(doublemax=h->s;STREC*p;p=h->next;while(p){ifl(p-s>max)max=p->s;p=p->next;returnmax;}第十六套1程序填空给定程序中,函数fun的功能是:求出形参ss所指字符串数组中最长字符串的长度,将其余字符串右边用字符*补齐,使其与最长的字符串等长。Ss所指字符串数组中共有M个字符串,且串长\0,;2程序修改给定程序MODI1.C中fun函数的功能是:将p所指字符串中每个单词的最后一个字母改成大写。(这里的“单词”是指由空格隔开的字符串)。请改正程序中的错误之处,使它能得出正确的结果。#includevoidfun(char*p)(intk=0;fbr(;*p;p++)if(k)/*******found******/*p="){k=0;/*******found******/*(p-1)=toupper(*(p-1));elsek=l;3程序设计

114请编写函数ftm,对长度为7个字符的字符串,除首、尾字符外,将其余5个字符ASCH码降序排列。intfiin(char*s,intnum)(charch;intij;fbr(i=l;i<6;i++)fbr(j=i+l;j<6j-H-){if(*(s+i)<(s+j)){ch=*(s+j);*(s+j)=*(s+i);*(s+i)=ch;第十七套1程序填空程序通过定义学生结构体数组,存储了若干名学生的学号、姓名和3门课的成绩。函数fun的功能是将存放学生数据的结构体数组,按照姓名的字典序(从小到大)排序。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。第1处structstudentt;第2处fbr(i=O;iO)2程序修改给定程序MODH.C中函数fun的功能是:在p所指字符串中找出ASCII码值最大的字符,将其放在第一个位置上;并将该字符前的原字符向后顺序移动。fun(char*p){charmax,*q;inti=0;max=p[i];while(p[i]!=O){if(maxp){♦q=*(q-l);q-;p[O]=max;

1153程序设计学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写了函数ftm,它的功能是:把指定分数范围内的学生数据放在b所指的数组中,分数范围内的学生人数由函数值返回。intfun(STREC*a,STREC*b,int1,inth){intij=O;fbr(i=O;i=l&&a[i].s<=h)b|j++]=a[i];returnj;}/*程序中1是用L的小写*/第十八套1程序填空给定程序中,函数fun的功能是:将形参s所指字符串中的所有字母字符顺序前移,其他字符顺序后移,处理后新字符串的首地址作为函数值返回。第1处t[j]=s[i];j-H-;第2处fbr(i=O;i

116{intiJ=0;fbr(i=O;iscore[i]+=l;第3处returna;2程序修改给定程序MODI1.C中函数fun的功能是:从N个字符串中找出最长的那个串,并将其地址作为函数值返回。各字符串在主函数中输入,并放入一个字符串数组中。/*******Cund******/char*fun(char(*sq)[M]){inti;char*sp;sp=sq[O];fbr(i=O;ivoidftm(inta,intb,long*c){*c=(b%10)*1000+(a/10)*100+(b/10)*10+a%10;}第二十套1程序填空给定程序中,函数fun的功能是:计算形参x所指数组中N个数的平均值,(规定所有数均为正数),将所指桑骂槐数组中小于平均值的数据移至数据的前部,大于等于平均值的数据移至x决指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。第1处for(i=0;i

117给定程序M0DI1.C函数fUn的功能是:统计字符串各元音字母(即:A、E、I、0、U)的个数。注意字母不分大、小写。fun(char*s,intnum[5]){intk,i=5;fbr(k=0;k=0)num[i]++;)}3程序设计请编写函数fun,函数的功能是求出二级数组周边元素之和,作为函数值返回。二维数组中的值在主函数中赋予。intfun(inta[M][N]){inttot=0,ij;fbr(i=O;i

1181程序填空给定程序中,函数fun的功能是:计算形参x所指数组中N个数的平均值(规定所有数均为正数),将所指数组中大于平均值的数据移至数组的前部,小于等于平均值的数据移至x所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。第1处av=s/N;第2处y[j++]=x[i];x[i]=-l;}第3处if(x[i]!=-l)y[j-H-]=x[i];2程序修改给定程序M0DI1.C的功能是:读入一英文文本行,将其中每个单词的第一个字母改成大写,然后输出此文本行(这里的“单词”是指由空格隔开的字符串)/*******必川记******/#includc/*******必川记******/upfst(char*p){intk=0;fbr(;*p;p++)if(k){if(*p=,,)k=O;}elseif(*p!=^^){k=l;*p=toupper(*p);}}3程序设计程序定义了NxN的二级数组,并在主函数中赋值,请编写函数firn,函数的功能是:求出数组周边元素的平均值并作出函数值返给主函数中的Sodoublefiin(intw[][N]){inti,j,n=0;doublesum=0;fbr(i=O;i

119/z,i,sqrt((double)i));第2处fclose(fp);第3处if((fp=fbpcn(fhame,''rz,))=NULL)2程序修改给定程序MODH.C中fun函数的功能是:将n个无序整数从小到大排序。fun(intn,int*a)

120{intij,p,t;fbr(j=O;ja[i])/*******Cun(j******/P=i;if(p!=j){t=a[j];a[j]=a[p];a[p]=t;}}}3程序设计函数fun的功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的个位和百位上,b数的十位和个位数依次放在c数的十位和千位上。#includevoidfun(inta,intb,long*c)(*c=(b%10)*1000+(a%10)*100+(b/10)*10+(a/10);}第23套1程序填空给定程序中,函数ftm的功能是:找出N*N矩阵中每列元素中的最大值,并按顺序依次存放于形参b所指的一维数组中。第1处b[i]=a[0][i];第2处if皿)b[i]=a[j][i];第3处fiin(x,y);2程序修改给定程序MODI1.C中fun函数的功能是:交换主函数中两个变量的值。/*******砧und******/intfun(int*x,int*y){intt;/************/t=*x;*x=*y;*y=t;}3程序设计编写函数ftm,函数的功能是求出小于或等于lim的所有素数并放在aa数组中,函数返回所求出的素数的个数。函数fun中给出的语句仅供参考。#include#defineMAX100intfun(intlim,intaa[MAX]){inti,j,k=0;fbr(i=2;i<=lim;i-H-){fbr(j=2J<=(i/2);j-H-)if(i%j=O)break;

121if(j>(i/2))aa[k++]=i;}returnk;}第24套1程序填空程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。函数fUn的功能是将形参a中的数据进行修改,把修改后的数据作为函数值返回主函数进行输出。第1处structstudentfiin(structstudenta)第2处strcpy(a.name,"LiSi");第3处a.score[i]+=l;2程序修改假定整数数列中的数不重复,并存放在数组中。给定程序M0DI1.C中函数fun的功能是:删除数列中值为x的元素。N中存放的是数列中元素的个数。fiin(int*a,intn,intx){intp=O,i;a[n]=x;while(x!=a[p])p=p+l;/*******Cun(i******/氓p==n)return-1,else{for(i=p;ia[i].s){j=O;b[j++]=a[i];min=a[i].s;}elseif(min=a[i].s)b[j++]=a[i];returnj;第25套1程序填空人员的记录由编号和出生年、月、日组成,N名人员的数据已在主函数中存入结构体数组std

122中,且编号唯一。函数firn的功能是:找出指定编号人员的数据,作为函数值返回,由主函数输出,若指定编号不存在,返回数据中编号为空串。第1处STUfun(STU*std,char♦num)第2处ifi(strcmp(std[i].num,num)=O)第3处return(std[i]);2程序修改给定程序M0DI1.C中函数fun的功能是:从s所指字符串中,找出与t所指字符串相同的子串的个数作为函数值返回。intfun(char*s,char*t){intn;char*p,*r;n=0;while(*s){p=s;r=t;while(*r)if(*r==*p){/*******砧und******/rH-;p++;elsebreak;/*******3u[]d******/if(*r=O)n++;s++;}returnn;3程序设计函数fun的功能是:将s所指字符串中ASCH值为偶数的字符删除,串中剩余字符形成一个新串放在t所指的数组中。#include#includevoidfun(char*s,chart[])(inti,j=0;fbr(i=O;inext;第3处q=q->next;2程序修改

123给定程序MODI1.C中函数firn的功能是:用选择法对数组中的n个元素按从小到大的顺序进行排序。voidfun(inta[],intn){inti,j,t,p;for0=Oj

124break;returnnum;3程序设计请编写一个函数fun,它的功能是:根据以下公式求JI的值(要求满足精度0.0005,即某项小于0.0005时停止送代):程序运行后,如果输入精度0.0005,则程序输出为3.14….JI/2=l+l/3+(1*2)/(3*5)+(1*2*3)/(3*5*7)+doublefun(doubleeps){doubles=l,t=l./3;intn=l;while(t>=eps){s+=t;n++;t=t*n/(2.0*n+l);}retum(s*2.0);第28套1.程序填空给定程序中,函数fun的功能是:统计形参s所指字符串中数字字符出现的次数,并存放在形参t所指的变量中,最后在主函数中输出。例如,形参s所指的字符串为:abcdef35adgh3kjsdf7.输出结果为:4。第1处for(i=0;s[i]!=NULL;i++)第2处i心[i]>='0'&&s[i]<='9')n++;第3处*t=n;2程序修改给定程序MODI1.C中函数ftin的功能是:通过某种方式实现两个变量值的交换,规定不允许增加语句和表达式。例如变量a中的值原为8,b中的值原为3,程序运行后a中的值为3,b中的值为8。intfun(int*x,inty){intt;/*******f^ound******/t=*x;*x=y;/*******found******/retum(t);3程序设计请编写函数ftm,它的功能是:求出1到1000之间能被7或11整除,但不能同时被7和11整除的所有整数并将它们放在a所指的数组中,通过n返回这些数的个数。#includevoidfun(int*a,int*n){inti;*n=0;fbr(i=7;i<1000;i-H-)if1((i%7)==0||(i%l1)==0&&(i%77)!=0)a[(*n)++]=i;第29套1程序填空程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。函数fun的功能

125是对形参b所指结构体变量中的数据进行修改,最后在主函数中输出修改后的数据。第1处b->sno=10004;第2处strcpy(b->name,"LiJie");第3处fun(&t);2程序修改给定程序MODI1.C中函数fun的功能是:应用递归算法求形参a的平方根。求平方根的迭代公式如下:例如,a为2时,平方根值为:1.414214xl=l/2*(xO+a/xO)(考试时是分数形式)/*******必川记******/doublefun(doublea,doublexO){doublexl,y;xl=(x0+a/x0)/2.0;/*******fbund******/if(fabs(xbx0)>0.00001)y=fun(a,xl);elsey=xl;returny;}3程序设计学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把高于等于平均分的学生数据放在b所指的数组中,高于等于平均分的学生人数通过形参n传回,平均分数通过函数值返回。doublefun(STREC*a,STREC*b,int*n){doublet=0;inti;*n=0;fbr(i=0;it)b[(*n)++]=a[i];returnt;}第30套1程序填空程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。函数fUn的功能是将形参a所指结构体变量中的数据赋给函数中的结构体变量b,并修改b中的学号和姓名,最后输出修改后的数据。第1处b=a;第2处strcpy(b.name,"LiSi")第3处for(i=0;i<3;i-H-)printf(''%6.2fz,b.score[i]);2程序修改给定程序MODH.C中函数fun的功能是:从s所指字符串中删除所有小写字母c。请改正程序中的错误,使它能计算出正确的结果。

126voidfun(char*s){inti,j;fbr(i=j=O;s[i]!=>\0,;i++)if(s[i!=,c,])/♦******£Qyp^j******/s[j++]=s[i];/*******Cun(j******/s[j]='\O';)3程序设计假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:将字符串的前导*号全部移到字符串的尾部。函数fun中给出的语句仅供参考。voidfun(char*a){char*p,*q;intn=0;P=a;while(*p=='*'){n++;p++;}q=a;while(*p){*q=*p;p++;q++;for(;n>0;n—)*q++='*';*q='\0';第31套1程序填空给定程序中,函数fun的功能是:对形参s所指字符串中下标为奇数的字符按ASCII码大小递增排序,并将排序后下标为奇数的字符取出,存入形参p所指字符数组中,形成一个新串。第1处t=i;第2处for0=i+2;j=num){pi=pi+t;

127n=n+2;s=-s;/*******Cun(j******/t=s/n;)pi=pi*4;returnpi;}3程序设计请编写一个函数voidfun(chara[],charb[],intn),其功能是:删除一个字符串指定下标的字符。其中,a指向原字符串,删除指定字符后的字符串存放在b所指的n中存入指定的下标。voidfun(chara[],charb[],intn){stmcpy(b,a,n);b[n]=0;strcat(b,a+n+l);)第32套1程序填空给定程序中,函数ftm的功能是:在形参ss所指字符串数组中,将所有串长超过k的字符串中右边的字符删除,只保留左边的k个字符。ss所指字符串数组中共有N个字符串,且串长小于M。第1处voidfun(char(*ss)[M],intk)第2处while(ieps){s+=t;t=t*n/(2*n+l);n-H-;)/*******Cund******/return(2*s);)3程序设计假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:将字符串的前导*号不

128得多于n个;若多于n个,则删除多于的*号:若少于或等于n个,则什么也不做,字符串中间和尾部的*号不删除。函数fun中给出的语句仅供参考。voidfun(char*a,intn){inti=Oj,k=O;while(a[k]=<*,)k++;if(k>n)(i=nj=k;fbr(;a[j]!=Oj++)a[i++]=a|j];a[i]=0;第33套1程序填空给定程序的功能是:调用函数fun将指定源文件中的内容复制到指定的目标文件中,复制成功时函数返回值为1,失败时返回值为0。在复制的过程中,把复制的内容输出到终端屏幕。主函数中源文件名放在变量sfname中,目标文件名放在变量tfname中。第1处ifUfs=fbpen(source,''r"))=NULL)第2处while(!feof(fs))第3处fputc(ch,ft);2程序修改给定程序MODI1.C中函数fun的功能是:将长整型中每一位上为偶数的数依次取出,构成一个新数放在t中。高位仍在高位,低位仍在低位。voidfiin(longs,long*t){intd;longsl=l;*t=0;while(s>0){d=s%10;/*******Cund******/ifi(d%2==0){*t=d*sl+*t;sl*=10;/*******found******/s/=10;3程序设计函数firn的功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的十位和千位上,b数的十位和个位数依次放在c数的百位和个位上。voidfun(inta,intb,long*c){

129*c=(a%10)*1000+(b/10)*100+(a/10)*10+(b%10);)第34套1程序填空用筛选法可得到2〜n(n<10000)之间的所有素数,方法是:首先从素数2开始,将所有2的倍数的数从数表中删去(把数表中相应位置的值置成0);接着从数表中找下一个非。数,并从数表中删去该数的所有倍数,依此类推,直到所找的下一个数等于n为止。这样会得到一个序列:2,3,5,7,11,13,17,19,23函数fim用筛选法找出所有小等于n的素数,并统计素数的个数作为函数值返回。第1处fbr(j=a[i]*2;j<=ny+=a[i])第2处while(a[i]=0)第3处if(a[i]!=O)2程序修改给定程序MODI1.C中函数fun的功能是:为一个偶数寻找两个素数,这两个素数之和等于该偶数,并将这两个素数通过形参指针传回主函数。voidfun(inta,int*b,int*c){inti,j,d,y;fbr(i=3;i<=a/2;i=i+2)(/*******Cund******/y=i;fbr(j=2J<=sqrt((double)i)j4-+)if(i%j=O)y=O;if(y==l){/*******砧und******/d=a-i;fbr(j=2;j<=sqrt((double)d);j4-4-)ifi(d%j==O)y=O;if(y=l){*b=l;*c=d;}}}}3程序设计请编写函数fun,它的功能是:计算并输出n(包括n)以内能被5或9整除的所有自然数的倒数之和。doublefun(intn){inti;doublesum=0.0;fbr(i=l;i<=n;i-H-)if(i%5=0||i%9=0)sum+=1.0/i;returnsum;)

130第35套1程序填空给定程序中,函数firn的功能是建立一个NxN的矩形。矩阵元素的构成规律是:最外层元素的值全部为1:从外向内第2层元素的值全部为2;第3层元素的值全部为3,…依次类推。第1处voidfun(int(*a)[N])第2处fbr(j=ijmaxlen){maxlen=strlen(a[i]);k=i;*max=a[k];)第36套1程序填空给定程序中,函数fun的功能是:统计出带有头结点的单向链表中结点的个数,存放在形参n所指的存储单元中。第1处*n=0;第2处p=p->next;

131第3处fiin(head,&num);2程序修改给定程序M0DI1.C中函数ftin的功能是:求出s所指字符串最后一次出现的t所指子字符串的地址,通过函数值返回,在主函数中输出从此地址开始的字符串;若未找到,则函数值NULL.char*fun(char*s,char*t)(char*p,*r,*a;/*******砧und******/a=NULL;while(*s){p=s;r=t;while(*r)/*******Cund******/ifi[*r==*p){r++;p++;}elsebreak;ifi(*r==,\O,)a=s;s++;}returna;3程序设计函数fun找功能是:将s所指字符串中除了下标为偶数,同时ASCII值也为偶数的字符外,其余的全部都删除;串中剩余字符所形成的一个新串放在t所指的数组中。voidfun(char*s,chart[])(intij=0;for(i=O;i

132while(t!=0||m!=0||n!=0){j=j+l;t=j%x;m=j%y;n=j%z;/*******Cund******/returnj;3程序设计假定输入的字符串中只包含中只包含字母和*号。请编写函数fun,它的功能是:只删除字符串前导和尾部的*号,串中字母之间的*号都不删除。形参n给出了字符串的长度,形参h给出了字符串中前导*号的个数,形参e给出了字符串中最后*号的个数。在编写函数时,不得使用C语言提供的字符串函数。voidfun(char*a,intn,inth,inte){char*p=a;intj=O,len=O;while(*p){p++;len-H-;}while(j

133/*******砧und******/return(b);3程序设计假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:删除字符串中所有的*号。在编写函数时,不得使用C语言提供的字符串函数。voidfun(char*a)(intj=O;char*p=a;while(*p){iR*p!=,*')a[j++]=*P;p++;}a|j]=O;第39套1程序填空给定程序中,函数fun的功能是:在形参ss所指字符串数组中,删除所有串长超过k的字符串,函数返回所剩字符串的个数。ss所指字符串数组中共有N个字符串,且串长小于M。第1处fbr(i=O;ivN;i++)第2处ifi(lenv=k)第3处strcpy(ss[j++],ss[i]);2程序修改给定程序M0DI1.C中函数ftm的功能是:逐个比较p、q所指两个字符串对应位置中的字符,把ASCII值大或相等的字符依次存在放到c所指数组中,形成一个新的字符串。voidfun(char*p,char*q,char*c)]/*******f^ound******/intk=0;/*******^)und******/whilc(*p||*q){if(*p<*q)c[k]=*q;elsec[k]=*p;if(*p)p++;if(*q)q++;k++;3程序设计

134假定输入的字符串中只包含字母和*号。请编写函数firn,它的功能是:除了字符串前导*号之外,将串中其它*号全部删除。在编写函数时,不得使用C语言提供的字符串函数。函数Am中给出的语句仅供参考。voidfun(char*a)(inti=0,k;while(a[i]=,*,)i++;k=i;while(a[i]!=,\0,){if(a[i]!=+)a[k++]=a[i];if}a[k]=>\0,;)第40套1程序填空给定程序中已建立一个带头结点的单向链表,链表中的各结点按结点数据域中的数据递增有序链接。函数fUn的功能是:把形参x的值放入一个新结点并插入到链表中,插入后各结点数据域的值仍保持递增有序。第1处s->data=x;第2处q=p;第3处q->next=s;2程序修改给定程序MODH.C中函数fun的功能是:计算正整数num的各位上的数字之积。longfun(longnum){/*******f^ound******/longk=l;do{k*=num%10;/*******^)und******/num/=10;Jwhile(num);return(k);}3程序设计请编写一个函数ftm,它的功能是:计算n门课程的平均分,计算结果作为函数返回。floatfun(float*a,intn){inti;floatave=0.0;fbr(i=O;i

135ave=ave/n;returnave;第41套1程序填空给定程序中,函数fun的功能是:计算x所指数组中N个数的平均值(规定所有数均为正数),平均值通过形参返回主函数,将小于平均值且最接近平均值的数作为函数值返回,在主函数中输出。第1处*av=s/N;第2处d=*av-x[i]j=i;}第3处returnx[j];2程序修改给定程序MODI1.C中函数fun的功能是:根据整型形参n计算如下公式的值。例如:若n=10,则应输出:0.617977。Al=l,A2=l/(1+A1),A3=l/(1+A2),An=l/(1+An-1)/*******3u[]d******/floatfiin(intn){floatA=l;inti;/*******Cund******/fbr(i=2;i<=n;i++)A=1.0/(l+A);returnA;)3程序设计程序定义了NxN的二维数组,并在主函数中自动赋值。请编写函数fiin,函数的功能是:使数组右上三角元素中的值乘以m。intfun(inta[][N],intm){intij;fbr(i=O;i

136fun(char*pstr[6]){intij;char*p;fbr(i=0;i<5;i++)/*******Cund******/fbr(j=i+l;j<6j-H-)(if(strcmp(*(pstr+i),*(pstr+j))>O)(p=*(pstrl-i);/*******found******/*(pstr+i)=*(pstr+j);*(pstr+j)=p;3程序设计请编写函数firn,它的功能是:求出ss所指字符串中指定字符的个数,并返回此值。intfiin(char*ss,charc)intcnt=0;char*p=ss;while(*p){ifi(*p==c)cnt++;pH;}returnent;第43套1程序填空给定程序中,函数fun的功能是:在形参ss所指字符串中查找与形参t所指字符串相同的串,找到后返回该串在字符串中的位置(下标值),未找到则返回-1。ss所指字符串数组中共有N个内容不同的字符串,且串长小于M。第1处fbr(i=O;i

137Don'tfound!

138,5);2程序修改给定程序MODI1.C中函数fun的功能是:从整数I到55之间,选出能被3整除、且有一位上的数是5的那些数,并把这些数放在b所指的数组中,这些数的个数作为函数值返回。规定,函数中al放个位数,a2放十位数。fun(int*b){intk,al,a2,i=0;for(k=10;k<=55;k++){/*******Cund******/a2=k/10;al=k-a2*10;ifi((k%3==0&&a2==5)||k%3=0&&al=5))

139{b[i]=k;i++;)/*******f^ound******/returni;)3程序设计假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:将字符串尾部的*号全部删除,前面和中间的*号不删除。voidfun(char*a){char*p=a;while(*p)p++;p—;while(*p=,*,)p-;pH;*P=0;第44套1程序填空函数fiin的功能是进行数字字符转换。若形参ch中是数字字符,则U转换成'1'转换成,8,,2,转换成79转换成,(T;若是其它字符则保持不变;并将转换后的结果作为函数值返回。第1处charfun(charch)第2处iNch>=’0'&&ch<='9')第3处return'9'-(ch-'0');2程序修改给定程序MODI1.C中函数firn的功能是:将p所指字符串中的所有字符复制到b中,要求复制第三个字符之后插入一个空格。voidfim(char*p,char*b){inti,k=0;while(*p){i=l;while(i<=3&&*P){/*******砧und******/b[k]=*p;k++;p++;i++;)if(*P){/*******fbund******/b[k++]=";}}b[k]=,\O';}3程序设计N名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。请编写函数ftm,它的功能是:求出平均分,由函数值返回。doublefun(STREC*h){STREC*p=h->next;doubleav=0.0;intn=0;

140while(p!=NULL)av=av+p->s;p=p->next;n++;av/=n;returnav;)第45套1程序填空函数fim的功能是:把形参a所指数组中的偶数按原顺序依次存放到a[0]、a[l]、a[2]中,把奇数从数组中删除,偶数个数通过函数值返回。第1处if(a[i]%2=0){第2处a[j]=a[i]j++;第3处returnj;2程序修改给定程序AODILC中函数fun的功能是:按以下递归公司求函数值。例如,当给n输入5时,函数值为18;当给n输入3时,函数值为14。10(n=l)fiin(n)=fun(n-l)+2(n>1)#include/*******Cund******/fiin(intn){intc;/*******砧und******/ifi[n==l)c=10;elsec=fun(n-1)+2;return(c);}3程序设计假定输入的字符串中只包含字母和p=o;号。请编写函数fun,它的功能是:使字符串中尾部的*号不得多于n个:若多于n个,则删除多余的*号;若少于或等于n个,则什么也不做,字符串中间和前面的*号不删除。voidfun(char*a,intn){char*p=a;intj=0;while(*p)p++;p—;while(*p=,*,)p—;Pf

141while(j

1421程序填空给定程序中,函数fun的功能是:找出形参s所指字符串中出现频率最高的字母(不区分大小写),并统计出其出现的次数。第1处ch=tolower(*s);第2处k[n]+=l;第3处if(max

143第2处s-hf;第3处returnsum;2程序修改给定程序MODH.C中函数fun的功能是:计算小于形参k的最大的10个能被13或17整除的自然数之和。K的值由主函数传入,若k的值为500,则函数值为4622。intfun(intk){intm=0,mc=0j;while((k>=2)&&(mc

144printfCtave=%f

145,,,xa);fbr(j=OJ=xa)C++;returnc;}3程序设计编写函数fUn,其功能是:根据以下公式求p的值,结果由函数值带回。m与n为两个正整数且要求m>n。p=m!/(n!*(m-n)!)floatfiin(intm,intn)(floatp;p=1.0*jc(m)/jc(n)/jc(m-n);returnp;}第50套1程序填空给定程序中,函数ftin的功能是:有NxN矩阵,以主对角线为对称线,对称元素相加并将结果存放在左下三角元素中,右上三角元素来。第1处voidfun(int(*t)[N])第2处t[i]U]=t[i]U]+tU][i];第3处t[j][i]=O;2程序修改给定程序MODI1.C中函数fun的功能是:计算函数的值,F(x,y,z)=(x+y)/(x-y)+(z+y)/(z-y)其中x和y的值不等,z和y的值不等。例如,当x的值为9、y的值为11、z的值为15时,函数值为-3.50。/*******必und******/#defineFU(m,n)((m)/(n))floatfun(floata,floatb,floatc){floatvalue;value=FU(a+b,a-b)+FU(c+b,c-b);/*******found******/return(value);)3程序设计规定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:将字符串中的前导*号全部删除,中间和尾部的*号不删除。voidfiin(char*a){intj=O;char*p=a;while(*p==,*,)p++;

146while(*p){a[j++]=*p;pH;}a[j]=O;)第51套1程序填空给定程序中,函数ftin的功能是:计算出形参s所指字符串中包含的单词个数,作为函数值返回。为便于统计,规定各单词之间用空格隔开。第1处n++;flag=l;}第2处iH*s==")flag=O;第3处S++;2程序修改给定程序M0DI1.C中函数fun的功能是:从n(形参)个学生的成绩中统计出低于平均分的学生人数,此人数由函数值返回,平均分存放在形参aver所指的存储单元中。inffun(float*s,intn,float*aver){floatave,E.O;intcount=0,k,i;fbr(k=0;k

1471程序填空给定程序中,函数ftin的功能是将NxN矩阵中元素的值按列右移1个位置,右边被称出矩阵的元素绕回左边。第1处fbr(i=O;i

148,,,n);/*******3u[]d******/returnt;3程序设计编写函数ftin,它的功能是:求Fibonacci数列中大于t的最小的一个数,结果山函数返回。其中Fibonacci数列F(n)定义为:F(0)=0,F(l)=l,F(n)=F(n-l)+F(n-2)intfiin(intt){intfO=O,fl=l,f;do{IMO+fl;fD=fl;fl=f;}while(f

149直到|xn/n!g0-6若x=2.5,函数值为:1,917915.第1处t=x;第2处t*=(-1.0)*x/n;第3处while(fabs(t)>=1e-6)2程序修改给定程序M0DI1.C中函数fim的功能是:求整数x的y次方的低3位值。例如,整数5的6次方为15625,此值的低3位值为625。longfun(intx,inty,long*p){inti;longt=l;/*******Cund******/fbr(i=l;i<=y;i-H-)t=t*s;*P=t;/*******!Qyp^j******/t=t%1000;returnt;}3程序设计请编写函数fun,其功能是:计算并输出当x<0.97时下列多项式的值,直至lJ|Sn・Sn・l|v0.000001为止0.5(0.5-1)0.5(0.5-1)(0.5-2)0.5(0.54)(0.5-2)...(0.5-n+1)S=l+0.5xHxA2+x八3…+xAn2!3!n!doublefun(doublex){intn=l;doublesn=l;doublexn=l,xnl=0;while(fabs(xn-xn1)>=0.000001)(xn=xn*x*(0.5-n+l)/n;n+=l;sn+=xn;}retum(sn);第54套1程序填空给定程序中,函数fun的功能是:计算出带有头节点的单向链表中各节点数据域中值之和作为函数值返回。第1处s+=p->data;第2处p=p->next;第3处printf(ll

150sum=%d

151,,,fun(head));2程序修改

152给定程序MODH.C中函数fun的功能是:将s所指字符串中出现的与tl所指字符串相同的子串全部替换成t2所指字符串,所形成的新串放在w所指的数组中。在此处,要求tl和t2所指字符串的长度相同。intfiin(char*s,char*tl,char*t2,char*w){inti;char*p,*r,*a;strcpy(w,s)while(*w){p=w;r=tl;/*******必und******/while(*r)if(*r==*p){r++;p++;}elsebreak;if1*r==,\O,){a=w;r=t2;while(*r){/*******3und******/*a=*r;a-H-;rH-;}w+=strlen(t2);}elsew++;3程序设计函数fun的功能是:将s所指字符串中下标为偶数的字符删除,串中剩余字符形成的新串放在t所指数组中。voidfun(char*s,chart[])(intij=0;fbr(i=1;i

1532程序修改给定程序MODH.C中函数fun的功能是:求出以下分数序列的前n项之和。2/1+3/2+5/3+8Z5+13/8+21/13+……和值通过函数值近回main函数。例如,若n=5,则应输出:8.391667o/*******^Qund******/doublefun(intn){inta=2,b=l,c,k;doubles=0.0;fbr(k=l;k<=n;k++){s=s+1.0*a/b;/*******必川记******/c=a;a+=b;b=c;}return(s);)3程序设计请编写函数fon,函数的功能是:将大于形参m且紧靠m的k个素数存入xx所指的数组中。例如,若输入17,5,则应输出:19,23,29,31,37,函数firn中给出的语句仅供参考。voidfun(intm,intk,intxx[])]intij=l,t=m+l;while(j<=k)(fbr(i=2;i

154",fw);第3处printf("%s”,str);2程序修改给定程序M0DI1.C中函数fun的功能是:从低位开始取出长整型变量s中奇数位上的数,依次构成•个新数放在t中。高位仍在高位,低位仍在低位。/*******found******/voidfun(longs,long*t)

155{longsl=10;*t=s%10;while(s>0){s=s/100;*t=s%10*sl+*t;/*******Cund******/sl=sl*10;)}3程序设计函数ftm的功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数个位和百位h,b数的十位和个位数依次放在c数的千位和十位上。voidfun(inta,intb,long*c)(*c=(b/l0)*1000+(a%10)*100+(b%10)*10+(a/10);}第57套1程序填空函数fim的功能是:把形参a所指数组中的最小值放在元素a[0]中,接着把形参a所指数组中的最大值放在矶1]元中:再把a所指数组中的次小值放在a[2]中,把a所指数组元素中的次大值放在a[3];其余以此类推。第1处max=min=a[i];第2处if(maxa[j])2程序修改给定程序MODH.C中函数fun的功能是:用递归算法计算斐波拉契数列中第n项的值。从第1项起,斐波拉契数列为:1、1、2、3、5、8、13、21longfun(intg)(/*******Cund******/switch(g){case0:retum0;/*******fbund******/case1:retumI;case2return1;return(fim(g-1)+fun(g-2));)3程序设计某学生的记录由学号、8门课程成绩和平均分组成,学号和8门课程成绩已在主函数中给出。请编写函数firn,它的功能是:求出该学生的平均分放在记录的ave成员中。voidfiin(STREC*a){inti;fbr(i=O;i

156a->ave=a->ave+a->s[i];a->ave/=N;第58套1程序填空给定程序中,函数fun的功能是:把形参s所指字符串中最左边的n个字符复制到形参t所指字符数组中,形成一个新串,若s所指字符串的长度小于n,则将整个字符串复制到形参t所指字符数组中。第1处if(n>=len)strcpy(t,s);第2处t[j++]=s[i];第3处t[j]=O;2程序修改给定程序MODI1.C中函数ftm的功能是:找出一个大于形参m且紧随m的素数,并作为函数值返回。intfun(intm){inti,k;fbr(i=m+l;;i++){fbr(k=2;k=i)return(i);}3程序设计编写函数fun,它的功能是:求出能整除形参x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。voidfun(intx,intpp[],int*n){inti;*n=0;fbr(i=l;i<=x;i-H-)ifi((x%i=0)&&(i%2))pp[(*n)++]=i;第59套1程序填空给定程序中,函数fiin的功能是:在3x4的矩阵中找出在行上最大,在列上最小的那个元素,若没有符合条件的元素则输出相应信息。第1处max=a[i][j];c=j;}第2处find=O;第3处i++;2程序修改给定程序MODH.C中函数fun的功能是:根据整形形参m的值,计算如下公式的值。……

157例如:若m中的值为:5,则应输出:0.536389。t=l-l/(2*2)-l/(3*3)-doublefiin(intm){doubley=1.0;inti;/♦******!Qyp^j******/fbr(i=2;i<=m;i-H-)/♦******£qup^******/y-=1.0/(i*i);return(y);)3程序设计m个人的成绩存放在score数组中,请编写函数hm,它的功能是:将低于平均分的人数作为函数值返回,将低于平均分的分数放在below所指的数组中。intfun(intscore[],intm,intbelow[])(floatav=0.0;intij=0;fbr(i=0;iscore[i])below[j-H-]=score[i];returnj;}第60套1程序填空给定程序中,函数fun的功能是:将形参指针所指结构体数组中的三个元素按num成员进行升序排列。第1处voidfun(PERSON*std)第2处PERSONtemp;第3处fun(std);2程序修改给定程序MODI1.C中函数fun的功能是:将m(lWmW10)个字符串连接起来,组成一个新串,放入pt所指存储区中。intfun(charstr[][10],intm,char*pt)(/*******Cun(i******/intk,q,i;fbr(k=O;k

158fbr(i=O;i='a')&&(ch<='z'))第2处returnch+'a'-'A'第3处returnch;2程序修改给定程序MODH.C中函数fun的功能是:给一维数组a输入任意4个整数,并按下列的规律输出。例如输入1、2、3、4,程序运行后将输出以下方阵。4123341223411234/*******Cund******/voidfiin(int*a){inti,j,k,m;printf(ttEnter4numbcr:^^)fbr(i=O;ivM;i++)scanfC%d'',&a[i]);printf(M

159

160Theresult:

161

162:”);fbr(i=M;i>O;i-){k=a[M-l];fbr(j=M-l;j>Oy-)/*******f^ound******/a[O]=k;

163fbr(m=O;m

164voidfun(char*tt,intpp[]){char*p=tt;inti;fbr(i=0;i<26;i++)PP[i]=O;while(*p){if(*p>='a'&&*p<='z')pp[*p-4a']+=l;p++;})第63套1程序填空给定程序中,函数fim的功能是:有NxN矩阵,根据给定的m(m<=N)值,将每行元素中的值均右移m个位置,左边值为0。第1处fbr(i=0;i

165(4)若xO-xl的绝对值小于0.000001执行步骤(5)否则执行步骤(2)(5)所求xl就是方程cos(x)-x=0的一个实根作为函数值返回。程序将输出结果Root=0.739058ofloatfun(){floatx0,xl=0.0;do{x0=xl;xl=cos(x0);}while(fabs(x0-xl)>0,000001);returnxl;)第64套1程序填空给定程序中,函数fim的功能是:将a所指3x5矩阵中第k列的元素左移到第0列,第k列以后的每列元素行依次左移,原来左边的各列依次绕到右边。第1处fbr(p=l;p<=k;p++)第2处fbr(j=Oj

166789101112若k为2,程序执行结果为789456123101112第1处voidfun(int(*a)[N],intk)第2处fbr(i=0;it[j+l])C=t[j];tU+l]=c;3程序设计请编写一个函数fun,其功能:将ss所指字符串中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换)。voidfun(char*ss){char*p=ss;inti=0;while(*p){if((i%2)&&(*p>=,a,&&*p<=,z,))*p-=32;pH;收第66套1程序填空

167给定程序中,函数fun的功能是:将形参std所指结构体数组中年龄最大者的数据作为函数值返回,并在main函数中输出。第1处max=*std;第2处if(max.age

168Name:%s,Age:%d

169”,max.name,max.age);2程序修改给定程序MODILC中函数firn的功能是:实现两个整数的交换。例如给a和b分别输入:60和65,输出为:a=65b=60/♦******£Qyp^j******/voidfiin(int*a,int*b){intt;/*******Cund******/t=*b;*b=*a;*a=t;3程序设计请编一个函数voidfun(inttt[M][N],intpp[N]),tt指向一个M行N列的二维数组,求出二维数组每列中最小元素,并依次放入pp所指一维数组中。二维数组中的数已在主函数中赋予。voidfun(inttt[M][N],intpp[N])(intij,min,k;fbr(i=O;itt[j][i]){min=tt[j][i];k=j;第67套1程序填空给定程序中,函数fun的功能是:调用随机函数产生20个互不相同的整数放在形参a所指数组中(此数组在主函数中已置0)。第1处while(n

170/*******3u[]d******/scanfC‘%d”,&a[i][j]);fbr(i=0;i<3;i++)sum=sum+a[i][i];printfi[t4Sum=%d

171,,,sum);}3程序设计编写程序,实现矩阵(3行3歹U)的转置(即行列互换)intfiin(intarray[3][3]){intij,arr[3][3];memcpy(arr,array,9*sizeof(int));fbr(i=0;i<3;i++)fbr(j=0y<3j++)array[i]|j]=arr[j][i];)第68套1程序填空给定程序中,函数fUn的功能是:求ss所指字符串数组中长度最长的字符串所在的行下标,作为函数值返回,并把其串长放在形参n所指变量中。ss所指字符串数组中共M个字符串,且串长vN。第1处intfim(char(*ss)[N],int*n)第2处if(i==O)*n=len;第3处*n=len;2程序修改给定程序MODI1.C中函数fim的功能是:根据形参m计算如下公式的值。例如,若输入5,则应输出2.283333。t=l+l/2+l/3+l/4+.・・+l/mdoublefun(intm){doublet=1.0;inti;fbr(i=2;i<=m;i-H-)/♦******!Qyp^******/t+=1.0/i;/♦******!Qyp^j******/returnt;)3程序设计编写一个函数,该函数可以统计一个长度为2的字符串在另一个字符串中出现的次数。intfun(char*str,char*substr)

172]intcnt=0;char*p=str,*q;while(*p){q=strstr(p,substr);if(q==NULL)break;p=q+strlen(substr);cnt++;第69套1程序填空给定程序中,函数fun的功能是将a和b所指的两具字符串转达换成面值相同的整数,并进行相加作为函数值返回,规定字符串只含9个以下数字字符。第1处d=d*10+*s-<0,;第2处第3处returnctod(a)+ctod(b);2程序修改给定程序MODI1.C中函数fun的功能是:分别统计字符串大写字母和小写字母的个数和。voidfun(char*s,int*a,int*b)(while(*s){ifi(*s>=,A,&&*s<=,Z,)/*******必und******/*a=*a+l;if(*s>=,a,&&*s<=,z,)/*******f^)und******/*b=*b+l;s++;)3程序设计请编写函数fun,函数的功能是使用实型整数保留2位小数,并对第三位进行四舍五入(规定实型数为正数)floatfun(floath)(longw;w=h+100+1.5;return(float)w/100;}第70套1程序填空给定程序中,函数fun的功能是:计算形参x所指数组中N个数的平均值(规定所有数均为正数),作为函数值返回,并将大于平均值的数放在形参Y所指数组中,在主函数中输出。第1处av=0;

173第2处av=av+x[i]/N;第3处y[j++]=x[i];2程序修改给定程序MODI1.C中函数fun的功能是:根据整型形参m,计算如下公式的值。1/100*100+1/200*200+1/300*300++l/m*m。/*******Cund******/doublefun(intm){doubley=0,d;inti;/*******f^ound******/fbr(i=100;iv=m;i+=100){d=(double)i*(double)i;y+=1.0/d;)return(y);}3程序设计已知学生的记录由学号和学生成绩构成,N名学生的数据已存入a结构体数组中,请编写函数的功能是:找出成绩最低的学生记录,通过形参返回主函数(规定只有一个最低分)ftin(STUa[],STU*s)Iinti,min=a[0],sj=0;fbr(i=l;ia[i].s){j=i;min=a[i].s;}*s=a[j];)第71套1程序填空给定程序中,函数ftin的功能是,将形参s所指字符串中的所有数字字符顺序前移,其他字符顺序后移,处理后新字符串的首地址作为函数值返回。第1处p[j]=s[i]J++;)第2处fbr(i=O;i

174intij;charch;i=O;j=strlen(b)-l;/*******3und******/while(i

175d=strlen(s);fbr(i=O;ie)第3处x=(2*i+l)/(t*t);2程序修改给定程序MODI1.C中函数fun的功能是:求出以下分数序列的前n项之和。2/1,3/2,5/2,8/5,13/8,31/13…和值通过函数值返回到main函数。/*******f^ound******/doublefiin(intn){inta,b,c,k;doubles;s=0.0;a=2;b=l;fbr(k=1;k<=n;k++)(/*******Cun(i******/s=s+(double)a/b;c=a;a=a+b;b=c;}returns;}

1763程序设计请编写一个函数fim,它的功能是:求出一个2xM整型二维数组中最大元素的值,并将此值返回调有函数。fun(inta[][M]){intij,max=a[0][0];fbr(i=0;i<2;i++)fbr0=O;j

177{ifi(max=O;j—)b[i++]=s[j];strcpy(s,b);)第76套1程序填空给定程序中,函数firn的功能是:计算下式前5项的和作为函数值返回。8=1x3/22-3x5/42+5x7/62-+(-1)n-l(2xn-l)x(2xn+l)/(2xn)2例如,当形参n的值为10时,函数返回:-0.204491。第1处k=l;第2处t=2*j;第3处k=k*(-l);2程序修改

178给定程序MODI1.C中函数ftin的功能是:判断一个整数是否是素数,若是返回1,否则返回0。intfiin(intm){intk=2;while(k<=rn&&(m%k))/*******fbund******/k++;/*******Cund******/if(m==k)return1;elsereturn0;3程序设计请编写一个函数fun,它的功能是:找出一维整型数组元素中最大的值和它所在的下标,最大的值和它所在的下标通过形参传回。数组元素中的值已在主函数中赋予。主函数中x是数组名,n是x中的数据个数,max存放最大值,index存放最大值所在元素的下标。voidfun(inta[],intn,int*max,int*d)(inti;*max=a[0];*d=0;for(i=l;i0){d=s%10;/*******Cund******/ifi(d%2!=0)

179{*t=d*sl+*t;sl*=10;}s/=10;3程序设计编写一个函数fun,它的功能是:实现两个字符串的连接(不使用库函数strcat),即把p2所指的字符串连接到pl所指的字符串后。voidfun(charp[],charp2[]){char*p=p1;while(*p)p++;while(*p2)*p++=*p2++;*p=0;}第78套1程序填空给定程序中,函数fUn的功能是:将NxN矩阵主对角线元素中的值与反向对角线对应位置上元素中的值进行交换。例如,若N=3有下列矩阵:123456789交换后:321456987第1处voidfiin(intt[][N],intn)第2处fbr(i=0;ihigh,查找结束。/*******必川记******/fiin(inta[],intm){intlow=0,high=N-1,mid;while(low<=high){mid=(low+high)/2;if(m

180elseif(m>a[mid])low=mid+l;elsereturn(mid);}return(-1);}3程序设计假定输入的字符串中只包含字母和*号,请编写函数fun,它的功能是:除了尾部的*号之外,将字符串中其它*全部删除。形参p已指向字符串中最后一个字母。在编写函数时,不得使用C语言提供的字符串函数。voidftin(char*a,char*p)(char*q=a;intj=O;while(*q&&q

181voidfun(intm,int*k,intxx[])(inti,cnt=0;fbr(i=0;i

182The%dx%dmatrix:

183,,,M,M);fbr(i=0;i=,0,&&s[i]<=,9,)第2处while(s[i+l+n]!=O)n++;第3处s[j+l]=s|j];2程序修改给定程序M0DI1.C中函数fun的功能是:根据整形形参m=l,计算如下公式的值。m=l+l/2*2+l/3*3+l/4*4…l/m*m例如,若m中的值为:5,则应输出1.463611。doublefiin(intm){doubley=1.0;inti;

184/************/fbr(i=2;i<=m;i-H-)/*******砧und******/y+=1.0/(i*i);return(y);3程序设计编写函数fun,函数的功能是:实现B=A+A1即把矩阵A加上A的转置,存放在矩阵B中。计算结果在main函数中输出。voidfun(inta[3][3],intb[3][3])intc[3][3];intij;fbr(i=0;i<3;i++)fbr(j=0j<3j++){c[i]U]=aD][i];b[i]D]=a[i]D]+c[i][j];第82套1程序填空给定程序中,函数fun的功能是:找出100〜999之间(含100和999)所有整数中各位上数字之和为x(x为一正整数)的整数,然后输出:符合条件的整数个数作为函数值返回。第1处while(t<=999)第2处s1=t%10;s2=(t/10)%10;s3=t/100;第3处if0){s=s/100;*t=s%10*sl+*t;sl=sl*10;3程序设计学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:按分数的高低排列学生的记录,高分在前。

185intfiin(STRECa[]){STRECtmp;intij;fbr(i=O;i

186函数ftm的功能是:从三个形参a,b,c中找出中间的那个数,作为函数值返回。第1处t=a>b?(b>c?b:(a>c?c:a)):((ac)?c:b));2程序修改给定程序MODI1.C中函数ftin的功能是:首先将大写字母转换为对应小写字母:若小写字母为a〜u,则将其转换为其后的第5个字母:若小写字母为v〜z,使其值减21。转换后的小写字母作为函数值返回。charfun(charc){iRc>='A'&&cv='Z')/*******Cund******/c=c+32;if{c>=,a,&&c<=,u,)/*******found******/c=c+5;elseifi[c>=,v,&&c<=,z,)c=c-21;returnc;}3程序设计请编写函数fun,其功能是:计算并输出……例如,在主函数中从键盘给n输入20后,输出为:s=534.188884o注意:要求n的值大于1但不大于100。doublefiin(intn)(inti;doublefac=1.0;doublesum=1.0;fbr(i=2;i<=n;i-H-){fac+=sqrt(i);sum+=fac;}returnsum;}第85套1程序填空给定程序的功能是调用ftin函数建立班级通讯录。通讯录中记录每位学生的编号、姓名和电话号码。班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat的二进制文件中。第1处intfun(STYPE*std)第2处FILE*fp;inti;第3处fwrite(&std[i],sizeof(STYPE),l,fp);2程序修改给定程序MODI1.C中函数fun的功能是:先将在字符串s中的字符按正序存放到t串中,然后把s

187中的字符按逆序连接到t串的后面。voidftin(char*s,char*t){inti,sl;sl=strlen(s);/*******fbund******/fbr(i=O;ic&&b+c>a&&a-i-c>b){if(a==b||b=c)return3;elseifi(a=b||b=c||a=c)return2;/************/elsereturn1;

188}elsereturn0;}3程序设计编写函数fun,其功能是:计算并输出3到n之间(含3和n)所有素数的平方根之和。doublefiin(intn)inti,j=O;doubles=0;fbr(i=3;i<=n;i-H-){fbr(j=2y

189例如,在主函数中从键盘给n输入50后,输出为:s=1.718282。doublefiin(intn){doubles=O,t=l;inti;fbr(i=l;i<=n;i-H-){t*=i;s+=1.0/t;)returns;}第88套1程序填空函数fun的功能是:反形参a所指数组中的最大值放在a[0]中,接着求出a所指数组中的最小值放在a[l]中;再把a所指数组元素中的次大值放在a[2]中,把a数组元素中的次小值放在a[3]中;葵以此类推。第1处voidfun(int*a,intn)第2处fbr(i=O;i

190学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把低于平均分的学生数据放在b所指的数组中,低于平均分的学生人数通过形参n传回。平均分通过函数值返回。doubleftin(STREC*a,STREC*b,int*n){inti;doubleave=0.0;*n=0;fbr(i=O;i=Oj--)第3处2程序修改给定程序MODI1.C中fun函数的功能是:计算整数n的阶乘。请改正程序中的错误或在下划线处填上适当的内容并把下划线删除,使它能计算出正确的结果。doublefun(intn)(doubleresult=1.0;while(n>1&&n

191inti=0;while(*p){if(*p!=c)s[i++]=*p;p++;}s[i]=0;第90套1程序填空函数ftin的功能是:统计所有小于等于n(n>2)的素数的个数,素数的个数作为函数值返回。第1处fbr(j=2y=i)2程序修改数列中,第一项值为3,后一项都比前一项的值增5:给定程序MODI1.C中函数fun的功能是:计算前n(4l&&n<=100){fbr(i=1;i<=n;i-H-)sum+=1.0/(2*i-l)-1.0/(2*i);)returnsum;)第91套1程序填空

192给定程序中,函数fun的功能是计算f(x尸l+x+x2/2!+…+xn/n!直至!J|x/n!|<10-6若x=2.5,函数值为:12.182494。第1处f=1.0+x;第2处t*=x/n第3处2程序修改给定程序MODI1.C中函数fun的功能是:计算n的5次方的值(规定n的值大于2小于8),通过形参指针传向主函数;并计算该值的个位、十位、百位上数字之和作为函数值返回。intfun(intn,int*value){intd,s,i;/*******!qup^******/d=l;s=O;fbr(i=1;i<=5;i++)d=d*n;*value=d;fbr(i=l;i<=3;i-H-){s=s+d%10;/*******found******/d=d/10;}returns;}3程序设计编写函数fiin,它的功能是:计算并输出给定数组(长度为9)中每相邻两个元素之平均值的平方根之和。doublefiin(doublex[9])(inti;doubleavg=0.0,sum=0.0;fbr(i=O;i<8;i++){avg=(x[i]+x[i+l])/2;sum+=sqrt(avg);returnsum;}第92套1程序填空给定程序中,函数Am的功能是:计算f(x)=l+x+x2/2!+…+xn/n!的前n项。若x=2.5,函数值为:12.182340.的前n项。若x=2.5,函数值为:12.182340。第1处t=l;第2处fbr(i=l;i

193第3处t*=x/i;2程序修改给定程序MODI1.C中函数fun的功能是;找出100至n(不大于1000)之间三位数字相等的所有整数,把这些整数放在s所指数组中,把这些整数放在s所指数组中,个数作为函数值返回。intfum(int*s,intn){intij,k,a,b,c;j=0;fbr(i=100;inext;第2处printf("%d”,t->data);第3处free(t);2程序修改

194给定程序MODI1.C中fun函数的功能是:将字符串中的字符按逆序输出,但不改变字符串的内容。/*******Cund******/fiin(char*a){if(*a){fun(a+l);/*******Cund******/3程序设计编写一个函数fun,它的功能是:比较两个字符串的长度,(不得调用C语言提供的求字符串长度的函数),函数返回较长的字符串。若两个字符串长度相同,则返回第一个字符串。char*fiin(char*s,char*t){inti;char*p=s,*q=t;fbr(i=O;*p&&*q;i++){p++;q++;if(*p==O&&*q==O)returns;if(*p)retums;elsereturnt;)第94套1程序填空函数fun的功能是计算fi[x)=l+x-2/2!+3/3!44!+……的前n项和。若x=2.5,n=15时,函数值为1.917914前n项之和。若x=2,n=5时,函数值为:1.917914。第1处f=l;第2处t*=(-l)*x/i;第3处f4-=t;2程序修改给定程序MODI1.C中函数ftm的功能是:从3个红球,5个白球,6个黑球中任意取出8个作为一组,进行输出。在每组中,可以没有黑球,但必须要有红球和白球。组合数作为函数值返回。正确的组合数应该是15。程序中i的值代表红球数,j的值代表白球数,k的值代表黑球数。intfiin(){intij,k,sum=O;printfV'gTheresult:

195

196");/*******砧und******/fbr(i=l;i<=3;i++){for(j=lj<=5j-H-){k=8-i-j;/*******Cund******/ifi(k>=0&&k<=6){sum=sum+1;

197printf(fc4red:%4dwhite:%4dblack:%4d

198,,,ij,k);returnsum;3程序设计请编写函数ftm,其功能是:计算并输出下列多项式的值:sn=l+l/l!+l/2!+l/3!+l/4!+...l/n!例如:在主函数中从键盘给n输入15,则输出为:s=2.718282。注意:要求n的值大于1但不大于100odoublefun(intn){doubles=l;longt=l;inti;fbr(i=l;i<=n;i++){t=t*i;s+=l.O/t;}returns;}第95套1程序填空给定程序中,函数fiin的功能是:计算N*N矩阵的主对角线元素和反向对角线元素之和,并作为函数值返回。注意:要求先累加主对角线元素中的值,然后累加反向对■角线元素的值。第1处sum=0;第2处sum+=t[i][i];第3处sum+=t[i][n-i-l];2程序修改给定程序MODI1.C中函数fun和funx的功能是:用二分法求方程2x34x2+3x-6=0的一个根,并要求绝对误差不超过0.001odoublefiin(doublem,doublen)(/*******Cund******/doubler;r=(m+n)/2;/*******found******/while(fabs(n-m)>0,001){if(funx(r)*funx(n)<0)m=r;eslen=r;r=(m+n)/2;}returnr;3程序设计假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:除了字符串前导和尾部的*号之外,将串中其他*号全部删除。形参h一指向字符串中第一个字母,形参P已指向字符串中最后一个字母。在编写函数时,不得使用C语言提供的字符串函数。voidfun(char*a,char*h,char*p)

199{intj=O;char*q=a;while(*q&&q=O;j-)第3处t[j][N-l]=r[j];2程序修改给定程序MODI1.C中函数fun的功能是:计算s=f(-n)+f(-n+l)+……+f(0)+f(l)+f(2)+……+f(n)的值。例如,当n为5时,函数值应为:10.407143。/*******Cund******/doublef(doublex)(ifi(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;fbr(i=-n;i<=n;i-H-){y=f(1.0*i);s+=y;}/*******fbund******/returns;3程序设计编写函数fun,它的功能是计算:s=根号下(ln(l)+ln(2)+ln(3)+ln(m))S作为函数返回,在C语言中可调用log(n)函数求ln(n)。log函数的引用说明是:Doublelog(doublex)例如,若m的值为:20,firn函数值为:6.506583odoublefun(intm)

200{doubles=0.0;inti;fbr(i=0;i<=m;i-H-)s+=log(1.0*i);s=sqrt(s);returns;)第97套1程序填空函数ftm的功能是:逆置数组元素是的值。例如:若a所指数组中的数据依次为:1、2,3、4、5、6、7、8、9,则逆置后依次为:9、8、7、6、5、4、3、2、1。形参n给出数组中数组中数据的个数。第1处for(i=0;i

201if(strcmp(a[i].num,b)=O){strcpy(c.num,a[i].num);c.s=a[i].s;break;}returnc;}第98套1程序填空给定程序中,函数fun的功能是:在带有头结点的单向链表中,查找数据域中值为ch的结点。找到后通过函数值返回该结点在链表中所处的顺序号:若不存在值为ch的结点,函数返回0值。第1处while(p!=O)第2处ifi(p->data=ch)retumn;第3处k=fun(head,ch);2程序修改给定程序M0DI1.C中函数fun的功能是:删除p所指字符串的所有空白字符(包括制表符、回车符及换行符)。输入字符串时用‘#'结束输入。fun(char*p){inti,t;charc[80];/*******3und******/fbr(i=O,t=O;p[i];i-H-)if(!isspace(*(p+i)))c[t++]=p[i];/*******必und******/c[t]=,\O';strcpy(p,c);}3程序设计请编写一个函数ftin,将ss所指字符串中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换)。voidfiin(char*ss){inti;fbr(i=1;i=,a,&&ss[i]<=,z,)ss[i]-=32;第99套1程序填空函数hin的功能是:将形参观者工所指数组中的前半部分元素中的值和后半部分元素中

202的值对换。形参n中存放数组中数据的个数,若n为奇数,则中间的元素不动。第1处p=(n%2=0)?n/2:n/2+l;第2处a[i]=a[p+i];第3处a[p+i]=t;2程序修改给定程序MODI1.C中函数fun的功能是:把主函数中输入的3个数,最大的放在a中,最小的放在c中,中间的放在b中。voidfun(float*a,float*b,float*c){/*******Cund******/floatk;if(*a<*b){k=*a;*a=*b;*b=k;}/*******Cu[]d******/if(*a<*c){k=*a;*a=*c;*c=k;}if(*b<*c){k=*b;*b=*c;*c=k;}}3程序设计学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数firn,它的功能是:把分数最高的学生数据放在b所指的数组中,注意:分数最高的学生可能不止•个,函数返回分数最高的学生的人数。intfiin(STREC*a,STREC*b){inti,max=a[0].s,n=0;fbr(i=l;i

203/*******Cund******/doublesum=0.0;intc=0,i=0;while(x[i]!=,\0,){if(x[i]!=0){sum+=x[i];c++;}i++;/*******Cund******/sum/=c;returnsum;}3程序设计编写函数firn,它的功能是:根据以下分工计算s,计算结果作为函数值返回:n通过形参传入。s=l+l/(l+2)+l/(l+2+3)+…+1/Q+2+3+…+n)例如:若n的值为11时,函数的值为1.833333floatfiin(intn)(inti,j,t;floats=0;fbr(i=l;i<=n;i++){t=0;for(j=lj<=iij++)t+=j;s=s+1.0/t;}returns;}

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

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

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