while(*h&&*p&&h{if(*h!=’*’)a[j++]=*h;h++;}while(*p)a[j++]=*p++;a[j]=0;}第二十九套1. 程序填空给定程序中,函数fun的功能是:有N*N矩阵,将矩阵的外围元素顺时针旋转。操作的顺序是:首先将第一行元素的值存入临时数组r,然后使第一列成为第一行,最后一行成为第一列,最后一列成为第一行,临时数组中和元素成为最后一列。第一处 t[0][N-j-1]=t[j][0];第二处 for(j=N-1;j>=0;j--)第三处 t[j][N-1]=r[j];2. 程序修改给定程序MODI1.C中函数fun的功能是:计算s=f(-n)+f(-n+1)+……+f(0)+f(1)+f(2)+……f(n)的值。例如,当n为5时,函数值应该是:10.407143。/**found**/double f(double x)/**found**/return s;3. 程序设计编写一个函数fun,它的功能是计算:s=根号下(ln(1)+ln(2)+ln(3)+……ln(m))S作为函数返回,在C语言中可以调用log(n)求ln(n)。log函数引用说明是:Double log(double x)例如,若m的值为:20,fun函数值为:60506583。double fun(int m){double s=0.0;int i;for(i=0;i<=m;i++)s+=log(1.0*i);s=sqrt(s);return s;}第三十套1. 程序填空函数fun的功能是:反形参a所指数组中的奇数按原顺序依次存放到a[0]、a[1]、a[2]……中,把偶数从数组中删除,奇数个数通过函数值返回。例如:若a所指数组中的数据最初排列为:9、1、4、2、3、6、5、8、7,删除偶数后a所指数组中的数据为:9、1、3、5、7,返回值为5。第一处 if(a[i]%2==1)第二处 j++;第三处 return j;2. 程序修改给定程序MODI1.C中函数fun的功能是:求出两个非零正整数的最大公约数,并作为函数值返回。/**found**/t=a;a=b;b=t;/**found**/return (b);3. 程序设计假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:删除字符串中所有的*号。在编写函数时,不得使用C语言提供的字符串函数。void fun(char *a){int j=0;char *p=a;while(*p){if(*p!=’*’)a[j++]=*p;p++;}a[j]=0;}第三十一套1. 程序填空给定程序中,函数fun的功能是:在形参ss所指字符串数组中,删除所有串长超过k的字符串,函数返回所剩字符串的个数。Ss所指字符串数组中共有N个字符串,且串长小于M。第一处 for(i=0;i第二处 if(len<=k)第三处strcpy(ss[j++],ss[i]);2. 程序修改给定程序MODI1.C中函数fun的功能是:逐个比较p、q所指两个字符串对应位置中的字符,把ASCII值或相等的字符依次存放在c所指数组中,形成一个新的字符串。/**found**/int k=0;/**found**/while(*p||*q)3. 程序设计假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:除了字符串前导*号之外,将串中其它*号全部删除。在编写函数时,不得使用C语言提供的字符串函数。函数fun中给出的语句仅供参考。void fun(char *a){int i=0,k;while(a[i]!==’*’)i++;k=i;while(a[i]!=’\0’){if(a[i]!=’*’)a[k++]=a[i];i++;}a[k]=’\0’;}第三十二套1. 程序填空给定程序中已建立一个带头结点的单向链表,链表中的各结点按结点数据域中的数据递增有序链接。函数fun的功能是:把形参x的值放入一个新结点并插入到链表中,插入后各结点数据域的值仍保持递增有序。第一处 s->data=x;第二处 q=p;第三处 q->next=s;2. 程序修改给定程序MODI1.C中函数fun的功能是:计算正整数num的各位上的数字之积。/**found**/long k=1;/**found**/num/=103. 程序设计请编写函数fun,它的功能是:计算n门课程的平均分,计算结果作为函数返回。float fun(float *a,int n){int i;float ave=0.0;for(i=0;iave=ave+a[i];ave=ave/n;return ave;}第三十三套1. 程序填空给定程序中,函数fun的功能是:在形参ss所指字符串数组中,查找含有形参substr所指子串的所有字符串并输出,若没找到输出相应信息。Ss所指字符串数组中共有N个字符,且串长小于M。程序中库函数strstr(s1、s2)的功能是早s1串中查找s2子串,若没有,函数值为0,若有,为非0。第一处 for(i=0;i第二处 if(strstr(ss[i],substr)!=NULL)第三处 if(find==0)2. 程序修改给定程序MODI1.C中函数fun的功能是:求三个数的最小公倍数。/**found**/fun(int x,int y,int z)/**found**/return j;3. 程序设计假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:只删除字符串前导和尾部的*号,串中字母之间的*号都不删除。形参n给出了字符串的长度,形参h给出了字符串中前导*号的个数。在编写函数时,不得使用C语言提供的字符串函数。void fun(char *a,int n,int h,int e){char *p=a;int j=0,len=0;while(*p){p++;len++;}while(ja[j]=a[h+j];j++;}a[j]=0;}第三十四套1. 程序填空给定程序中,函数fun的功能是:在形参ss所指字符串数组中查找与形参t所指字符串相同的串,找到后返回该串在字符串中的位置(下标值),未找到则返回-1。ss所指字符串数组中共有N个内容不同的字符串,且串长小于M。第一处 for(i=0;i第二处 if(strcmp ss[i],t)==0 return i;第三处 if(n==-1) printf(“\nDon’t found!\n”);2. 程序修改给定程序MODI1.C中函数fun的功能是:从整数1到55之间,选出能被3整除、且有一位上的数是5的那些事,并且把这些数放在b所指的数组中,这些数作为函数值返回。规定,函数中a1放个位数,a2放十位数。/**found**/a2=k/10;/**found**/return i;3. 程序设计假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:将字符串尾部的*号全部删除,前面和中间的*号不删除。void fun(char *a){char *p=a;while(*p)p++;p--;while(*p==’*’)p--;p++;*p=0;}第三十五套1. 程序填空给定程序中,函数fun的功能是:统计出带有头结点的单向链表中结点的个数,存放在形参n所指的存储单元中。第一处 *n=0;第二处 p=p->next;第三处 fun(head,&num);2. 程序修改给定程序MODI1.C中函数fun的功能是:求出s所指字符串最后一次出现的t所指字符串的地址,通过函数值返回,在主函数中输出从此地址开始的字符串;若未找到,则函数值NULL。/**found**/a=NULL;/**found**/if(*r==*p)3. 程序设计函数fun的功能是:将s所指字符串中除了下标为偶数,同时ASCII指也为偶数的字符外,其余的全部都删除:串中剩余字符所形成的一个新串放在t所指的数组中。void fun(char *s,char t[ ]){int i,j=0;for(i=0;iif(s[i]%2==0)t[j++]=s[i];t[j]=0;}第三十六套1. 程序填空函数fun的功能是:进行数字字符转换。若形参ch中是数字字符‘0’—‘9’,则‘0’转换成‘9’,‘1’转换成‘8’,‘2’转换成‘7’,……‘9’转换成‘0’;若是其他字符则保持不变,并将转换后的结果做函数值返回。第一处 char fun(char ch)第二处 if(ch>=’0’&&ch<=’9’)第三处 return ‘9’-(ch-‘0’);2. 程序修改给定程序MODI1.C中函数fun的功能是:将p所指字符串中所有字符复制到b中,要求复制第三个字符之后插入一个空格。/**found**/b[k]=*p;/**found**/b[k++]=’‘;3. 程序设计 N名学生的成绩已在主函数中放入一个带头结点的链表结构中,h指向链表的头结点。请编写函数fun,它的功能是:求出平均分,有函数值返回。double fun(STREC *h){STREC *p=h->next;double av=0.0;int n=o;while(p!=NULL){av=av+p->s;p=p->next;n++;}av/=n;return av;}第三十七套1. 程序填空函数fun的功能是:把形参a所指数组中的偶数按原顺序依次存放a[0]、a[1]、a[2]……中,把奇数从数组中删除,偶数个数通过函数值返回。第一处 if(a[i]%2==0){第二处 a[j]=a[i];j++;第三处 return j;2. 程序修改给定程序MODI1.C中函数fun的功能是:按以下递推公式求函数值。例如,当给n输出5时,函数值为18;当给n输入3时,函数值为14./**found**/fun(int n)/**found**/if(n==1)3. 程序设计假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:使字符串中尾部的*号不得多于n个;若多于n个则删除多余的*号;若少于或等于n个,则什么也不做,字符串中间和前面的*号不删除。void fun(char *a,int n){char *p=a;int j=0;while(*p)p++;p--;while(*p==’*’)p--;p++;while(jp++;j++;}*p=0;}第三十八套1. 程序填空给定程序中,函数fun的功能是:利用指针数组对形参ss所指字符串数组中的字符串按由长到短的顺序排列,并输入排序结果。ss所指定字符串数组中共有N个字符串,且串长小于M。第一处 k=i第二if(strlen(ps[k])ps[j]))k=j;第三处 tp=ps[i];ps[i]=ps[k];ps[k]=tp;2. 程序修改已知一个数列从第0项开始的前三项分别是0、0、1以后的各项都是它相邻的前三项之和。给定程序MODI1.C中函数fun的功能是:计算并输出该数列前n项的平方根之和。n的值通过形参传入。/**found**/double fun(int n)/**found**/return sum;3. 程序设计请编写函数fun,它的功能是:计算下列级数和,和值由函数值返回。例如,当n=10,x=0.3时,函数值为1.349859。double fun(double x,int n){double s=1.0,y=x;int i;for(i=1;i<=n;i++){s+=y/(double)jc(i);y*=x;}return s;}第三十九套1. 程序填空给定程序中,函数fun的功能是:计算x所指数组中N个数的平均值(规定所有数均为正数),平均值通过形参返回主函数,将小于平均值且最接近平均值的数作为函数值返回,在主函数中输出。第一处 *av=s/N;第二处 d=*av-x[i];j=i;}第三处 return x[j];2. 程序修改给定程序MODI1.C中函数fun的功能是:根据整型形参n计算如下公式的值。例如:若n=10,则应输出:0.617977./**found**/float fun(int n)/**found**/for(i=2;i<=n;i++)3. 程序设计程序定义了N×N的二维数组,并在主函数中自动赋值,请编写函数fun,它的功能是:使数组右上三角元素中的值乘以m。int fun(int a[][N],int m){int i,j;for(i=0;i for(j=i;ja[i][j]*=m;}第四十套1. 程序填空给定程序中,函数fun的功能是:将s所指字符串所有数字字符移到所有非数字字符之后,并保持数字字符串和非数字字符串原有的先后次序。第一处 j++;第二处 s[i]=t1[i];第三处 for(i=0;i2. 程序修改给定程序MODI1.C中函数fun的功能是:用冒泡法对6个字符串按由小到大的顺序排列。/**found**/for(j=i+1;j<6;j++)/**found**/*(pstr+i)=*(pstr+j);3. 程序设计请编写函数fun,它的功能是:求出ss所指字符串中指定字符个数,并返回次值。int fun(char *ss,char c){int cnt=0;char *p=ss;while(*p){if(*p==c)cnt++;p++;}return cnt;}第四十一套1. 程序填空给定程序中,函数fun的功能是:将形参s所指定字符串中的数字字符转换成对应的数值,计算出这些数值的累加和作为函数值返回。第1处if(isdigit(*s))sum+=*s-48;第2处s++;第3处return sum;2. 程序修改给定程序MODI1.C中函数fun的功能是:计算小于形参k的最大的10个能被13或17整除的自然数之和。K的值由主函数传入,若K的值为500.则主函数为4622。/**found**/if((k%13= =0││(k%17= =0))/**found**/}3. 程序设计请编写函数fun,它的功能是:求小于形参n同时能被3和7整除的所有自然数之和的平方根,并作函数的返回值。double fun(int n){double sum=0.0;int i;for(i=21;i<=n;i++)if((i%3= =0)&&(i%7= =0))sum+=i;return sqrt(sum);}第四十二套1 程序填空给定程序中,函数fun的功能是:将不带头结点的单向链表结点数据域中的数据从小到大排序。即若原链表节点数据域从头到位的数据为10、4、2、8、6,排序后链表结点数据域从头至尾的数据为2、4、6、8、10.第1处q=p->next;第2处while(q)第3处 p=p->next;2 程序修改给定程序MODI1.C中函数fun的功能是:将s所指字符串中的字母转换为按字母顺序的后续字母(但Z转化成A,z转换为a),其它字符不变。/**found**/while(*s)/**found**/s++;3程序设计void fun(int*w, int p, int n){int i,j=0,b[N];for(i=p+1;ifor(i=0);i<=p;i++)b[j++]=w[i];for(i=0;iw[i]=b[i];}第四十三套1 程序填空给定程序中,函数fun的功能是:判定形参a所指的N乘以N(规定N为奇数)的矩阵是否是“幻方”,若是,函数返回值是1;不是,函数返回值为0.“幻方”的判定条件是:矩阵每行、每列、主对角线及反对角线上元素之和都相等。第1处row=colum=0;第2处if((row!=colum)││(row!=m1))return 0;第3处return 1;2 程序修改给定程序MODI1.C中函数fun的功能是:根据整型形参m计算如下公式的值。/**found**/t=t-1.0/i;/**found**/return t;3 程序设计请编写一个函数,函数的功能是:删除字符串中所有的空格。int fun(char *str){char *p=str;int i=0;while(*p){ if(*p!=’ ’)str[i++]=*p; p++; } str[i]=0;}第四十四套1 程序填空给定程序中,函数fun的功能是:将N乘以N矩阵中元素的值按列右移一个位置,右边被移出矩阵的元素绕回左边。第1处for(i=0;i第2处x=t[i][N-1];第3处t[i][0]=x;2 程序修改给定程序MODI1.C中函数fun的功能是:计算并输出下列级数的前n项的和Sn,直到Sn+1大于q为止,q的值通过形参传入。/**found**/s=s+(n+1.0)/n;/**found**/return t;3程序编写编写函数fun,它的功能是:求Fibonacci数列中大于t的最小一个数,结果由函数返回。其中Fibonacci数列F(n)定义为F(0)=0,F(1)=1,F(n)。。。int fun(int t){int f0=0,f1=1,f;do{f=f0+f1;f0=f1;f1=f;}while(freturn f;}第四十五套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 程序修改给定MODI1.Cfun函数的功能是:计算s所指字符串中含有t所指字符串的数目,并作为函数值返回。请改正函数fun中指定部位的错误,使它能得出正确的结果。/**found**/r=t;/**found**/if(*r= =0)3 程序设计请编写函数fun,函数的功能是:将放在字符串数组中的M个字符串(每串的长度不超过N),按顺序合并组成一个新的字符串,函数fun中给出的语句提供参考。void fun (char a[M][N]),char *b){int i;*b=0;for(i=0;i}第四十六套1 程序填空给定程序中,函数fun的功能是:将形参s所指字符串所有ASCII码小于97的字符存入形第1处*(t+n)=*s;n++;}第2处s++;第3处return n;2 程序修改给定程序MODI1.C中函数fun的功能是:由形参给定n个实数,输出平均值以上(含平均值)的实数个数。/**found**/int j,c=0;float xa=0.0;/**found**/if(x[j]>=xa)3 程序设计编写函数fun,其功能是:根据以下公式求p的值,结果由函数值带回。m与n为两个正整数且要求m>n。p=m!/(n!*(m-n)!)float fun(int m, int n){float p;p=1.0*jc(m)/jc(n)/jc(m-n);return p;}第四十七套1 程序填空函数fun的功能是:计算f(x)=1+x-x2∕2!+x3∕3!-X4/4! 直到∣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中函数fun的功能是:求整数x的y次方的低3位值。例如,整数5的6次方为15625,此值的低3位值为625。/**found**/for(i=1;i<=y;i++)/**found**/t=t%1000;3程序设计请编写函数fun,其功能是:计算并输出当x﹤0.97时下列多项式的值,直到Sn-Sn-1<0.000001为止。double fun(double x){int n=1;double sn=1;double xn=1,xn1=0;while(fabs(xn-xn1)>=0.000001) { xn=xn*x*(0.5-n+1)/n; n+=1; sn+=xn; } return(sn);}第四十八套1 程序填空给定程序中,函数fun的功能是:计算出带有头节点的单向链表中各节点数据域中值之和作为函数值带回。第1处s+=p->data;第2处p=p->next;第3处printf(“\nsum=%d\n”,fun(head));2 程序修改给定程序MODI1.C中函数fun的功能是:将s所指字符串中出现的与t1所指字符串相同的子串全部替换成t2所指字符串,所形成的新串放在w所指的数组中。在此处,要求t1和t2所指字符串的长度相同。/**found**/while(*r)/**found**/*a=*r;a++;r++;3 程序设计函数fun的功能是:将s所指字符串中下标为偶数的字符删除,串中剩余字符形成的新串放在t所指数组中。void fun(char *s,char t[]){int i,j=0;for(i=1;it[j++]=s[i];t[j]=0;}第四十九套1 程序填空给定程序中,函数fun的功能是:把形参s所知字符串中最左边的n个字符复制到形参t所指字符数组中,形成一个新串,若s所指字符串的长度小于n,则将整个字符串复制到形参t所指字符数组中。第1处if(n>=len)strcpy(t,s);第2处t[j++]=s[i];第3处t[j]=0;2 程序修改给定程序MODI1.C中函数fun的功能是:找出一个大于形参m且紧随m的素数,并作为函数值带回。/**found**/if(i%k= =0)/**found**/if(k>=i)3 程序设计编写函数fun,它的功能是:求出能整除形参x切不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。void fun(int x,int pp[],int*n){int i;*n=0;for(i=1;i<=x;i++)if((x%i==0)&&(i%2))pp[(*n)++]=i;}第五十套1 程序填空给定程序中,函数fun的功能是:将形参s所知字符串中的所有数字字符顺序前移,其他字符顺序后移,处理后新字符串的首地址作为函数值返回。第1处p[j]=s[i];j++;}第2处for(i=0;i第3处return p;2 程序修改给定程序MODI1.C中函数fun的功能是:首先把b所指字符串中的字符按逆序存放,然后将a所指字符串中的字符和b所指字符串中的字符,按排列的顺序交叉合并到c所指数组中,过长的剩余字符接在c所指数组的尾部。/**found**/while(i/**found**/if(*a)3 程序设计函数fun的功能是:将s所指字符串中下标为偶数同时ASCII值为奇数的字符删除,s 所指串中剩余的字符形成的新串放在 t所指的数组中。void fun(char *s,char t[]){int i,j=0;for(i=0;iif(!((i%2)= =0&&(s[i]%2)))t[j++]=s[i];t[j]=0;}第五十一套1 程序填空给定程序中,函数fun的功能是:计算下式s=1/22+3/42+5/62…+(2×n-1)/(2×n)2直到︱(2×n-1)/(2×n)2︱《10-3并把计算结果作为函数值返回。例如,若形参e的值le-3 ,函数值的返回值为2.735678。第1处i=0;第2处i++;第3处x=(2.0*i-1) / ((2.0*i)* (2.0*i));2 程序修改给定程序MODI1.C中函数fun的功能是:将s所指字符串的正序和反序进行连接,形成一个新串放在t所指的数组中。/**found**/void fun(char*s, char *t)/**found**/t[2*d]=’\0’;3 程序设计函数fun的功能是:将s所指字符串中除了下标为奇数、同时ASCII值也为奇数的字符之外,其余的所有字符都删除,串中剩余字符所形成的一个新串放在t所指的数组中。viod fun(char*s, chat t[]){int i,j=0;for(i=1;iif(s[i]%2)t[j++]=s[i];t[j]=0;}第五十二套1 程序填空给定程序中,函数fun的功能是:在3×4的矩阵中找出在行上最大,列上最小的那个元素,若没有符合条件的元素则输出相应信息。第1处max=a[i][j];c=j;}第2处find=0;第3处i++;2 程序修改给定程序MODI1.C中函数fun的功能是:根据整形形参m的值:计算如下公式的值……例如:若m中的值为5,则应输出:0.536389。/**found**/for(i=2;i<=m;i++)/**found**/y-=1.0/(i*i);3 程序设计m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人数作为函数值返回,将低于平均分的分数放在below所指的数组中。int fun(int score[],int m,int below[]){float av=0.0;int i,j=0;for(i=0;iav+=score[i];av/=m;for(i=0;iif(av>score[i])below[j++]=score[i];return j;}第五十三套1 程序填空给定程序中,函数fun的功能是将形参指针所指结构体数组中的三个元素按num成员进行升序排列。第1处void fun(PERSON*std)第2处PERSON temp;第3处fun(std);2 程序修改给定程序MODI1.C中函数fun的功能是:将m(1≦m≦10)个字符串连接起来,组成一个新串,放入pt所指存储区中。/**found**/int k,q,i;/**found**/pt[i]=str[k][i];3 程序设计程序定义了N×N的二维数组,并在主函数中自动赋值。请编写函数fun(int a[ ][N]),函数的功能是:使数组左下三角元素中的值全部置成0。int fun(int a[][N]){int i,j;for(i=0;i for(j=0;j<=i;j++) a[i][j]=0;}第五十四套1 程序填空给定程序中,函数fun的功能是:计算形参x所指数组中N个数的平均值(规定所有数均为正数),作为函数值返回,并将大于平均值的数放在形参Y所指数组中,在主函数中输出。第1处av=0;第2处av=av+x[i]/N;第3处y[j++]=x[i];2 程序修改给定程序MODI1.C中函数fun的功能是:根据整形形参m,计算如下公式的值。/**found**/double fun(int m)/**found**/for(i=100;i<=m;i+=100)3 程序设计已知学生的记录由学号和学习成绩构成,N名学生的数据已存入a 结构体数组中,轻便鞋函数的功能是:找出成绩最低的学生记录,通过形参返回主函数(规定只有一个最低分)fun(STU a[],STU *s){int i,min=a[0],s,j=0;for(i=1;iif(min>a[i].s){j=i;min=a[i].s;}*s=a[j];}第五十五套1程序填空给定程序中,函数fun的功能是:判断形参s所指字符串是否是“回去”(Palindrome)若是,函数返回值为1;不是,函数返回值为0,“回文”是正读和反读都是一样的字母串(不区分大小写字母)。第1处1p=s;第2处1p++;rp--;}第3处if(1p