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(j *p=0; } 第三十八套 1. 程序填空 给定程序中,函数fun的功能是:利用指针数组对形参ss所指字符串数组中的字符串按由长到短的顺序排列,并输入排序结果。ss所指定字符串数组中共有N个字符串,且串长小于M。 第一处 k=i 第二 if(strlen(ps[k]) 第三处 tp=ps[i];ps[i]=ps[k];ps[k]=tp; 31 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**/ 32 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 第四十套 1. 程序填空 给定程序中,函数fun的功能是:将s所指字符串所有数字字符移到所有非数字字符之后,并保持数字字符串和非数字字符串原有的先后次序。 第一处 j++; 第二处 s[i]=t1[i]; 第三处 for(i=0;i 给定程序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++; 33 } 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= =0││(k= =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. 34 第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;i for(i=0;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 程序设计 35