收藏 分享(赏)

针对2012年3月份的计算机二级考试C语言1-100.txt

上传人:公务员考试助手 文档编号:21763613 上传时间:2024-04-23 格式:TXT 页数:77 大小:124.69KB
下载 相关 举报
针对2012年3月份的计算机二级考试C语言1-100.txt_第1页
第1页 / 共77页
针对2012年3月份的计算机二级考试C语言1-100.txt_第2页
第2页 / 共77页
针对2012年3月份的计算机二级考试C语言1-100.txt_第3页
第3页 / 共77页
针对2012年3月份的计算机二级考试C语言1-100.txt_第4页
第4页 / 共77页
针对2012年3月份的计算机二级考试C语言1-100.txt_第5页
第5页 / 共77页
亲,该文档总共77页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、第一套第二套第三套第四套第五套第六套程序填空给定程序中,函数fun的功能是根据形参i的值返回某个函数年值。当调用正确时,程序输出:x1=5.000000x2=3.000000.x1*x1+x1*x2=40.000000 第一处:double fun(int i,double x,double y)第二处:return f1(x);第三处:return f2(x,y);2.程序修改给定程序MODI1.C中函数fun的功能是:比较两个字符串,将长的那个字符串的首地址作为函数值返回。#include /*found*/char *fun(char *s,char *t)int sl=0,tl=0;c

2、har *ss,*tt;ss=s; tt=t;while(*ss) sl+;/*found*/ss+;while(*tt) tl+;/*found*/tt+;if(tlsl) return t;else return s;3. 程序设计请编写函数fun,函数的功能是:移动字符串中的内容,移动的规则如下:把第1到第m个字符,平均移到字符串的最后,把第m+1个到最后的;字符移到字符串的前部。void fun(char *w, int m )int i;for(i=0;im;i+)fun1(w);第七套程序填空程序通过定义并赋初值的方式,利用结构体变量存储了一名学生的信息,函数fun的功能是输出这位

3、学生的信息。第1处 void show( STU tt)第2处 printf(“%5.1f”,tt.scorei);第2处 show(std)2.程序修改给定程序MODI1中函数fun的功能是:求出数组中最大数和次最大数,并把最大数和a0中的数对调、次最大数和a1中的数对调。int fun(int *a,int n) int i,m,t,k; for(i=0;i2;i+)/*found*/m=i;for(k=i+1;kam)m=k;t=ai;ai=am;am=t;3.程序设计请编写一个unsigned fun(unsigned w),w是一个大于10的无符号整数,若w是n(n=2)位的整数,函

4、数求出w的后n-1位的数作为函数值返回。例如:w值为5923,则函数返回923;w值为923则函数返回23。unsigned fun( unsigned w ) if(w=10000) return w%10000;if(w=1000) return w%1000;if(w=100) return w%100;return w%10;第八套程序填空给定程序通过定义并赋值的方式,利用结构体变量存储了一名学生学号、姓名和3门课的成绩。函数fun的功能是将该学生的各科成绩都乘以一个系统a。第1处 void modify(STU *ss,float a )第2处 ss-scorei*=a;第3处 mo

5、dify(&std,a);2.程序修改给定程序MODI1.C中函数fun的功能是:求k!,所求阶乘的值作为函数值返回。例如:若k=10,则应输出:3628800。long fun(int k)/*found*/if(k0) return (k*fun(k-1);/*found*/else if(k=0)return 1L;3.程序设计程序定义了N*N的二维数组,并在主函数中自动赋值。请编写函数fun(int a N,int n),函数的功能是:使数组左下三角元素中的值乘以n。int fun(int a N,int n) int i,j; for(i=0;iN;i+) for(j=0;jnext

6、;第2处 while(q)第3处 p=p-next;2.程序修改给定程序MODI1.C中函数fun的功能是:将s所指字符串中的字母转换为按字母序列的后续字母(但Z转换为A,z转换成a ),其它字符不变。 void fun(char *s)/*found*/while(*s) if(*sA&*s=a&*s=z) if(*s=Z)*s=A; else if(*s=z)*s=a; else *s=*s+1;/*found*/s+;3.程序设计void fun(int *w,int p, int n)int i,j=0,bN;for(i=p+1;in;i+)bj+=wi;for(i=0;i=p;i+)

7、bj+=wi; for(i=0;in;i+)wi=bi;第十套1程序填空给定程序中,函数fun的功能是:判定形参a所指的NN(规定N为奇数)的矩阵是否是“幻方”,若是,函数返回值为1;不是,函数返回值为0。“幻方”的判定条件是:矩阵每行、每列、主对角线及反对角线上元素之和都相等。第1处 row=colum=0;第2处 if(row!=colum)|(row!=m1)return 0;第3处 return 1;2程序修改给定MODI1.Cfun函数的功能是:根据整型形参m,计算如下公式的值。t=1-1/2-1/3-1/m.#include double fun( int m )double t

8、= 1.0;int i;for(i=2;inext;第2处 if (p=0) return;第3处 p=q; q=r;2.程序修改给定MODI1.Cfun函数的功能是:计算s所指字符串中含有t所指字符串的数目,并作为函数值返回。请改正函数fun中指定部位的错误,使它能得出正确的结果。# include # include #define N 80int fun(char *s, char *t)int n;char *p,*r;n=0;while (*s) p=s; /*found*/r=t; while (*r) if(*r=*p)r+;p+;else break;/*found*/if(*

9、r=0)n+;s+;return n;3程序设计请编写函数fun,函数的功能是:将放在字符串数组中的M个字符串(每串的长度不超过N),按顺序合并组成一个新的字符串,函数fun中给出的语句供供参考。void fun (char aMN),char *b)int i;*b=0;for(i=0;inext;第3处 q=r;2程序修改给定程序MODI1.C中函数fun的功能是:将s所指字符串中位于奇数位置的字符或ASCII码为偶数的字符放入t所指数组中(规定第一个字符放在第0位中)。#include#include#define N 80void fun(char *s,char t)int i,j=

10、0;for(i=0;istrlen(s);i+)/*found*/if(i%2| si%2=0)tj+=si;/*found*/tj=0;3程序设计请编写函数fun,函数的功能是:将M行N列的二维数组中的数据,按列的顺序依次放到一维数组中。函数fun中给出的语句仅供参考。#include void fun (int (*s)10,int *b, int *n, int mm, int nn)int i,j,np=0;for(i=0;inn;i+) for(j=0;jnext;第2处 q=p-next;第3处 if(p-data=q-data)2程序修改给定程序MODI1.C是建立一个带头结点的

11、单向链表,并用随机函数为各结点数据域赋值。函数fun的作用是求出单向链表结点(不包括头结点)数据域中的最大值,并且作为函数值返回。请改正函数fun中指定部位的错误,使它能得出正确的结果。fun ( NODE *h) int max=-1;NODE *p;/*found*/p=h-next;while(p) if (p-datamax)max=p-data;/*found*/p=p-next;return max;3程序设计请编写函数fun,函数的功能是:将M行N列的二维数组中的数据,按行的顺序依次放到一维数组中。一维数组中数据的个数存放在形参n所指的存储单元中。void fun( int (*

12、s)10,int *b, int *n, int mm, int nn)int i,j,k;for(i=0;imm;i+) for(j=0;jnext;while (p)if(p-data%2=0)sum +=p-data;/*found*/p=p-next;return sum;3程序设计 请编写函数fun,函数的功能是:判断字符串是否为回文?叵是,函数返回1,主函数中输出:YEX,否则返回0,主函数中输出NO。回文是指顺读t和倒读都一样的字符串。int fun(char *str) int i,j=strlen(str);for(i=0;ij/2;i+)if (stri!=strj-i-1

13、) return 0;return 1;第十五套1程序填空 程序通过定义学生结构体变量,存储了学生的学号,姓名和3门课的成绩。所有学生数据均以二进制方式输出到student.dat文件中。函数fun的功能是从指定文件中找出指定学号的学生数据,读入此学生数据,对该生的分数进行修改,使每门课的分数加3分,修改后重写文件中该学生的数据,即用该学生的背后数据覆盖原数据,其它学生数据不变;若找不到,则什么都不做。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。第1处 while(!feof(fp)第2处 if(n.sno=sno) break;第3处 fseek(fp,-1L*si

14、zeof(STU),SEEK CUR);2程序修改给定程序MODI1.C中函数fun的功能是:利用插入排序法对字符串中的字符按从小到大的顺序进行排序,插入法的基本算法是:先对字符串中的头两个元素进行排序,然后把第三个字符插入到前两个字符中,插入后前三个字符依然有序;再把第四个字符插入到前三个字符中,。待排序的字符串已在主函数中赋予。请改正函数fun中指定部位的错误,使它能得出正确的结果。void insert(char *aa)int i,j,n; char ch;/*found*/n=strlen(aa);for(i=1;i=0)&(chs;STREC *p;p=h-next;while(p

15、) if(p-smax)max=p-s;p=p-next;return max;第十六套1程序填空 给定程序中,函数fun的功能是:求出形参ss所指字符串数组中最长字符串的长度,将其余字符串右边用字符*补齐,使其与最长的字符串等长。Ss所指字符串数组中共有M个字符串,且串长N。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。第1处 n=strlen(ssi) ;第2处 ssin+j=*;第3处 ssin+j+1=0;2程序修改给定程序MODI1.C中fun函数的功能是:将p所指字符串中每个单词的最后一个字母改成大写。(这里的“单词”是指由空格隔开的字符串)。请改正程序中的

16、错误之处,使它能得出正确的结果。#includevoid fun(char *p)int k = 0;for( ; *p; p+ ) if( k )/*found*/if( *p =)k = 0;/*found*/* (p-1)=toupper(*(p-1);elsek=1;3程序设计 请编写函数fun,对长度为7个字符的字符串,除首、尾字符外,将其余5个字符ASCII码降序排列。int fun(char *s, int num)char ch;int i,j;for(i=1;i6;i+)for(j=i+1;j6;j+)if(*(s+i)(s+j) ch = *(s+j); *(s+j)=*(

17、s+i);*(s+i)=ch ;第十七套1程序填空 程序通过定义学生结构体数组,存储了若干名学生的学号、姓名和3门课的成绩。函数fun的功能是将存放学生数据的结构体数组,按照姓名的字典序(从小到大)排序。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。第1处 struct student t;第2处 for(i=0;i0)2程序修改给定程序MODI1.C中函数fun的功能是:在p所指字符串中找出ASCII码值最大的字符,将其放在第一个位置上;并将该字符前的原字符向后顺序移动。fun (char *p) char max, *q; int i=0;max=pi;while(

18、 pi!=0) if(maxp)*q=*(q-1);q-;p0=max;3程序设计学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写了函数fun,它的功能是:把指定分数范围内的学生数据放在b所指的数组中,分数范围内的学生人数由函数值返回。int fun (STREC *a, STREC *b,int l, int h)int i,j = 0;for(i=0;i=l&ai.s=h)bj+=ai;return j;/*程序中l是用L的小写*/第十八套1程序填空给定程序中,函数fun的功能是:将形参s所指字符串中的所有字母字符顺序前移,其他字符顺序后移,处理后新字符串的

19、首地址作为函数值返回。第1处 tj=si;j+;第2处 for(i=0;ik;i+) tj+i=pi;第3处 tj+k=0;2程序修改给定程序MODI1.C中函数fun的功能是:将s所指字符串中最后一次出现的与t1所指字符串相同的子串替换成t2所指字符串,所形成的新串放在w所指的数组中。在此处,要求t1和t2所指字符串的长度相同。int fun (char *s, char *t1, char *t2, char *w)int i; char *p,*r,*a;strcpy( w,s );/*found*/while (*w) p=w;r=t1;while (*r)/*found*/if (

20、*r=*p )r+;p+;else break;if (*r=0)a=w; w+;r=t2;while (*r)*a=*r;a+;r+;3程序设计函数fun的功能是:将s所指字符串中ASCII值为奇数的字符删除,串中剩余字符形成一个新串放在t所指的数组中。void fun (char *s, char t) int i,j=0; for(i=0;istrlen(s);i+)if(si%2=0)tj+=si;tj=0;第十九套1程序填空程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。函数fun的功能是将形参a所指结构体变量s中的数据进行修改,并把a中地址作为函数值返回主函数,在

21、主函数中输出修改后的数据。第1处 struct student *fun(struct student *a)第2处 for(i=0;iscorei+=1;第3处 return a;2程序修改给定程序MODI1.C中函数fun的功能是:从N个字符串中找出最长的那个串,并将其地址作为函数值返回。各字符串在主函数中输入,并放入一个字符串数组中。/*found*/char *fun(char (*sq)M) int i; char *sp;sp=sq0;for(i=0;iN;i+)if (strlen(sp)strlen(sqi)sp=sqi;/*found*/return sp;3程序设计函数fu

22、n的功能是:将a、b中的两个两位正整数合并形成一个新的整数放在c中。合并的方式是:将a中的十位和个位数依次放在变量c的百位和个位上,b中的十位和个位数依次放在变量c的十位和千位上。#include void fun (int a, int b, long *c) *c=(b%10)*1000+(a/10)*100+(b/10)*10+a%10;第二十套1程序填空给定程序中,函数fun的功能是:计算形参x所指数组中N个数的平均值,(规定所有数均为正数),将所指桑骂槐数组中小于平均值的数据移至数据的前部,大于等于平均值的数据移至x决指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的

23、数据。第1处for(i=0; iN; i+) av+=xi/N第2处yj=xi; xi=-1; j+;第3处i+; 2程序修改给定程序MODI1.C函数fun的功能是:统计字符串各元音字母(即:A、E、I、O、U)的个数。注意字母不分大、小写。fun (char *s, int num5) int k, i=5; for(k=0;k=0) numi+;3程序设计请编写函数fun,函数的功能是求出二级数组周边元素之和,作为函数值返回。二维数组中的值在主函数中赋予。int fun(int a MN)int tot = 0, i,j;for(i=0;iN;i+) tot +=a0i;tot +=aM

24、-1i;for (i=1;iM-1;i+) tot +=ai0; tot +=aiN-1; return tot;第21套1程序填空 给定程序中,函数fun的功能是:计算形参x所指数组中N个数的平均值(规定所有数均为正数),将所指数组中大于平均值的数据移至数组的前部,小于等于平均值的数据移至x所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。第1处 av=s/N;第2处 yj+=xi;xi=-1;第3处 if(xi!=-1) yj+=xi;2程序修改给定程序MODI1.C的功能是:读入一英文文本行,将其中每个单词的第一个字母改成大写,然后输出此文本行(这里的“单词”是指

25、由空格隔开的字符串) /*found*/#include /*found*/upfst (char *p)int k=0; for ( ; *p; p+)if (k) if (*p=)k=0;else if (*p!=)k=1; *p=toupper(*p);3程序设计程序定义了NN的二级数组,并在主函数中赋值,请编写函数fun,函数的功能是:求出数组周边元素的平均值并作出函数值返给主函数中的s。double fun (int wN) int i, j, n=0;double sum=0;for(i=0; iN;i+) sum+=w0i+wN-1i;n+=2;for (i=1;iN-1;i+)

26、 sum+=wi0+wiN-1;n+=2;return sum/n;第22套1程序填空 给定程序中,函数fun的功能是:将自然数110以及它们的平方根写到名为myfile3.txt的文本文件中,然后再顺序读出显示在屏幕上。第1处 fprintf(fp,%d%fn,i,sqrt(double)i);第2处 fclose(fp);第3处 if (fp=fopen(fname,r)=NULL)2程序修改给定程序MODI1.C中fun函数的功能是:将n个无序整数从小到大排序。 fun (int n,int *a ) int i,j,p,t;for(j=0; jn-1;j+) p=j;/*found*/

27、for (i=j+1; iai)/*found*/p=i;if (p!=j) t=aj;aj=ap;ap=t; 3程序设计 函数fun的功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的个位和百位上,b数的十位和个位数依次放在c数的十位和千位上。#include void fun (int a, int b, long *c)*c=(b%10)*1000+(a%10)*100+(b/10)*10+(a/10);第23套1程序填空 给定程序中,函数fun的功能是:找出N*N矩阵中每列元素中的最大值,并按顺序依次存放于形参b所指的一维数组中

28、。第1处 bi=a0i;第2处 if (biaji) bi=aji;第3处 fun(x,y);2程序修改给定程序MODI1.C中fun函数的功能是:交换主函数中两个变量的值。 /*found*/int fun(int *x,int *y) int t;/*found*/t=*x;*x=*y;*y=t;3程序设计编写函数fun,函数的功能是求出小于或等于lim的所有素数并放在aa数组中,函数返回所求出的素数的个数。函数fun中给出的语句仅供参考。#include #define MAX 100int fun(int lim, int aa MAX)int i, j, k=0;for(i=2;i=

29、lim;i+) for(j=2;j(i/2) aak+=i; return k;第24套1程序填空程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。函数fun的功能是将形参a中的数据进行修改,把修改后的数据作为函数值返回主函数进行输出。第1处 struct student fun(struct student a)第2处 strcpy(a.name,LiSi);第3处 a.scorei+=1;2程序修改假定整数数列中的数不重复,并存放在数组中。给定程序MODI1.C中函数fun的功能是:删除数列中值为x的元素。N中存放的是数列中元素的个数。 fun(int *a, int n,

30、int x) int p=0,i;an=x;while(x!=ap)p=p+1;/*found*/if(p=n) return -1else for (i=p;in;i+)/*found*/ai=ai+1;return n-1; 3程序设计学生的记录由学号和成绩组成。N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把分数最低的学生数据放在b所指的数组中,注意:分阶段数最低的学生可能不止一个,函数返回分数最低的学生的人数。int fun(STREC *a, STREC *b)int i,j=0,min=a0.s;for( i=0;iai.s)j=0;bj+=ai;mi

31、n=ai.s;else if (min =ai.s)bj+=ai;return j;第25套1程序填空人员的记录由编号和出生年、月、日组成,N名人员的数据已在主函数中存入结构体数组std中,且编号唯一。函数fun的功能是:找出指定编号人员的数据,作为函数值返回,由主函数输出,若指定编号不存在,返回数据中编号为空串。第1处 STU fun(STU *std, char *num)第2处 if(strcmp(stdi.num,num)=0)第3处 return (stdi);2程序修改给定程序MODI1.C中函数fun的功能是:从s所指字符串中,找出与t所指字符串相同的子串的个数作为函数值返回。i

32、nt fun(char *s,char *t) int n; char *p,*r;n=0;while (*s)p=s;r=t;while (*r)if (*r=*p)/*found*/r+; p+;else break;/*found*/if (*r=0)n+;s+; return n; 3程序设计函数fun的功能是:将s所指字符串中ASCII值为偶数的字符删除,串中剩余字符形成一个新串放在t所指的数组中。#include #include void fun (char *s, char t)int i, j=0;for(i=0;inext;第3处 q=q-next;2程序修改给定程序MOD

33、I1.C中函数fun的功能是:用选择法对数组中的n个元素按从小到大的顺序进行排序。void fun (int a, int n) int i, j, t, p;for (j=0;jn-1;j+)/*found*/p=j;for(i=j;in;i+)if (aiap)/*found*/p=i;t=ap;ap=aj;aj=t; 3程序设计请编写一个函数fun,它的功能是:求出1到m之间(含m)能被7或11整除的所有整数放在数组a中,通过n返回这些数的个数。void fun (int m, int *a, int *n) int i;*n=0;for(i=7;i=m;i+) if(i%7=0)|(i

34、%11=0) a(*n)+=i;第27套1程序填空给定程序中,函数fun的功能是:计算下式前n项的和作为函数值返回。例如,当形参n的值为10时,函数返回:9.6125588s=(1*3)/22+(3*5)/42+(5*7)/62+(2*n-1)* (2*n+1)/(2*n)2(考试时公式用分式表示)第1处 s=0;第2处 for(i=1;i=eps) s+=t;n+;t=t*n/(2.0*n+1);return(s*2.0);第28套1程序填空 给定程序中,函数fun的功能是:统计形参s所指字符串中数字字符出现的次数,并存放在形参t所指的变量中,最后在主函数中输出。例如,形参s所指的字符串为:

35、abcdef35adgh3kjsdf7。输出结果为:4。第1处 for(i=0; si!= NULL; i+)第2 处 if(si=0&si=9 ) n+;第3 处 *t=n ; 2程序修改给定程序MODI1.C中函数fun的功能是:通过某种方式实现两个变量值的交换,规定不允许增加语句和表达式。例如变量a中的值原为8,b中的值原为3,程序运行后a中的值为3,b中的值为8。 int fun (int *x,int y) int t;/*found*/t=*x ; *x=y;/*found*/return(t);3程序设计请编写函数fun,它的功能是:求出1到1000之间能被7或11整除,但不能同

36、时被7和11整除的所有整数并将它们放在a所指的数组中,通过n返回这些数的个数。#include void fun (int *a, int *n) int i;*n=0;for(i=7;isno = 10004;第2处 strcpy(b-name,LiJie);第3处 fun(&t);2程序修改给定程序MODI1.C中函数fun的功能是:应用递归算法求形参a的平方根。求平方根的迭代公式如下:例如,a为2时,平方根值为:1.414214 x1=1/2*(x0+a/x0)(考试时是分数形式)/*found*/double fun(double a,double x0) double x1,y; x

37、1=(x0+a/x0)/2.0;/*found*/if(fabs(x1-x0)0.00001)y=fun(a,x1);else y=x1;return y; 3程序设计学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把高于等于平均分的学生数据放在b所指的数组中,高于等于平均分的学生人数通过形参n传回,平均分数通过函数值返回。double fun (STREC *a, STREC *b, int *n) double t=0;int i;*n=0;for(i=0;iN;i+)t=t+ai.s;t=t/N;for(i=0;it)b(*n)+=

38、ai;return t;第30套1程序填空 程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。函数fun的功能是将形参a所指结构体变量中的数据赋给函数中的结构体变量b,并修改b中的学号和姓名,最后输出修改后的数据。第1处 b=a;第2处 strcpy(b.name,LiSi)第3处 for(i=0;i0;n-)*q+=*;*q=0;第31套1程序填空 给定程序中,函数fun的功能是:对形参s所指字符串中下标为奇数的字符按ASCII码大小递增排序,并将排序后下标为奇数的字符取出,存入形参p所指字符数组中,形成一个新串。第1处 t=i;第2处 for(j=i+2; j=num) p

39、i=pi+t;n=n+2;s=-s;/*found*/ t=s/n; pi=pi*4;return pi;3程序设计请编写一个函数void fun (char a ,char b, int n),其功能是:删除一个字符串指定下标的字符。其中,a指向原字符串,删除指定字符后的字符串存放在b所指的n中存入指定的下标。void fun (char a,char b,int n) strncpy (b,a,n);bn=0;strcat(b,a+n+1);第32套1程序填空 给定程序中,函数fun的功能是:在形参ss所指字符串数组中,将所有串长超过k的字符串中右边的字符删除,只保留左边的k个字符。ss所

40、指字符串数组中共有N个字符串,且串长小于M。第1处 void fun(char (*ss) M, int k)第2处 while (ieps) s+=t;t=t*n/(2*n+1);n+;/*found*/return (2*s);3程序设计假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:将字符串的前导*号不得多于n个;若多于n个,则删除多于的*号;若少于或等于n个,则什么也不做,字符串中间和尾部的*号不删除。函数fun中给出的语句仅供参考。void fun(char *a,int n)int i=0,j,k=0;while(ak=*)k+;if(kn)i=n;j=k;for

41、(;aj!=0;j+) ai+=aj;ai=0;第33套1程序填空给定程序的功能是:调用 函数fun将指定源文件中的内容复制到指定的目标文件中,复制成功时函数返回值为1,失败时返回值为0。在复制的过程中,把复制的内容输出到终端屏幕。主函数中源文件名放在变量sfname中,目标文件名放在变量tfname中。第1处 if(fs=fopen(source,”r”)=NULL)第2处 while(!feof(fs)第3处 fputc(ch,ft);2程序修改给定程序MODI1.C中函数fun的功能是:将长整型中每一位上为偶数的数依次取出,构成一个新数放在t中。高位仍在高位,低位仍在低位。void fu

42、n(long s,long *t) int d;long s1=1;*t=0;while(s0) d=s%10;/*found*/if(d%2=0) *t=d*sl+*t; sl*=10;/*found*/s/=10;3程序设计函数fun的功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的十位和千位上,b数的十位和个位数依次放在c数的百位和个位上。void fun(int a,int b,long *c)*c=(a%10)*1000+(b/10)*100+(a/10)*10+(b%10);第34套1程序填空用筛选法可得到2n(n1000

43、0)之间的所有素数,方法是:首先从素数2开始,将所有2的倍数的数从数表中删去(把数表中相应位置的值置成0);接着从数表中找下一个非0数,并从数表中删去该数的所有倍数,依此类推,直到所找的下一个数等于n为止。这样会得到一个序列:2,3,5,7,11,13,17,19,23,函数fun用筛选法找出所有小等于n的素数,并统计素数的个数作为函数值返回。第1处 for(j=ai*2;j=n;j+=ai)第2处 while(ai=0)第3处 if(ai!=0) 2程序修改给定程序MODI1.C中函数fun的功能是:为一个偶数寻找两个素数,这两个素数之和等于该偶数,并将这两个素数通过形参指针传回主函数。 v

44、oid fun(int a,int *b,int *c) int i,j,d,y;for(i=3;i=a/2;i=i+2)/*found*/y=1;for(j=2;j=sqrt(double)i);j+)if(i%j=0)y=0;if(y=1)/*found*/d=a-i;for(j=2;j=sqrt(double)d);j+) if(d%j=0)y=0;if(y=1) *b=1;*c=d;3程序设计请编写函数fun,它的功能是:计算并输出n(包括n)以内能被5或9整除的所有自然数的倒数之和。double fun(int n)int i;double sum=0.0;for(i=1;i=n;i

45、+) if(i%5=0|i%9=0) sum+=1.0/i;return sum;第35套1程序填空 给定程序中,函数fun的功能是建立一个NN的矩形。矩阵元素的构成规律是:最外层元素的值全部为1;从外向内第2层元素的值全部为2;第3层元素的值全部为3,依次类推。第1处 void fun(int (*a)N)第2处 for(j=i;jN-i;j+)第3处 aki=akN-i-1=i+1;2程序修改给定程序MODI1.C中函数fun的功能是:将十进制正整数m转换成k(2k9)进制数,并按高位到低位顺序输出。 void fun(int m,int k)int aa20,i;for(i=0;m;i+

46、)/*found*/aai=m%k;m/=k;for( ; i; i-)/*found*/printf(“%d”,aai-1);3程序设计编写一个函数,从num个字符串中找出最长的一个字符串,并通过形参指针max传回该串地址。(注意:主函数中用*作为结束输入的标志,函数fun中给出的语句仅供参考)fun(char (*a)81,int num,char *max)int i,k=0,maxlen;maxlen=strlen(ak);for(i=1;imaxlen) maxlen=strlen(ai);k=i;*max=ak;第36套1程序填空 给定程序中,函数fun的功能是:统计出带有头结点的

47、单向链表中结点的个数,存放在形参n所指的存储单元中。第1处 *n=0;第2处 p=p-next;第3处 fun(head,&num);2程序修改给定程序MODI1.C中函数fun的功能是:求出s所指字符串最后一次出现的t所指子字符串的地址,通过函数值返回,在主函数中输出从此地址开始的字符串;若未找到,则函数值NULL。 char *fun(char *s,char *t)char *p,*r,*a;/*found*/a=NULL;while(*s) p=s;r=t;while(*r)/*found*/if(*r=*p)r+;p+;else break;if(*r=0)a=s;s+;return

48、 a;3程序设计函数fun找功能是:将s所指字符串中除了下标为偶数,同时ASCII值也为偶数的字符外,其余的全部都删除;串中剩余字符所形成的一个新串放在t所指的数组中。void fun(char *s,char t )int i,j=0;for(i=0;istrlen(s);i+=2)if(si%2=0)tj+=si;tj=0;第37套1程序填空 给定程序中,函数fun的功能是:在形参ss所指字符串数组中,查找含有形参substr所指子串的所有字符串并输出,若没找到输出相应信息。ss所指字符串数组中共有N个字符,且串长小于M。程序中库函数strstr(s1,s2)的功能是在s1串中查找s2子串

49、,若没有,函数值为0,若有,为非0。第1处 for(i=0;iN;i+)第2处 if(strstr(ssi,substr)!=NULL)第3处 if(find=0)2程序修改给定程序MODI1.C中函数fun的功能是:求三个数的最小公倍数。 /*found*/fun(int x,int y,int z) int j,t,n,m;j=1;t=j%x;m=j%y;n=j%z;while(t!=0|m!=0|n!=0) j=j+1; t=j%x;m=j%y;n=j%z;/*found*/return j;3程序设计假定输入的字符串中只包含中只包含字母和*号。请编写函数fun,它的功能是:只删除字符串

50、前导和尾部的*号,串中字母之间的*号都不删除。形参n给出了字符串的长度,形参h给出了字符串中前导*号的个数,形参e 给出了字符串中最后*号的个数。在编写函数时,不得使用C语言提供的字符串函数。void fun(char *a,int n,int h,int e) char *p=a;int j=0,len=0;while(*p) p+;len+;while(jlen-h-e)aj=ah+j;j+;aj=0;第38套1程序填空 函数fun的功能是:反形参a所指数组中的奇数按原顺序依次存放到a0、a1、a2、中,把偶数从数组中删除,奇数个数通过函数值返回。例如:若a所指数组中的数据最初排列为:9、

51、1、4、2、3、6、5、8、7,删除偶数后a所指数组中的数据为:9、1、3、5、7,返回值为5。第1处if(ai%2=1)第2处 j+;第3处 return j;2程序修改给定程序MODI1.C中函数fun的功能是:求出两个非零正整数的最大公约数,并作为函数值返回。 int fun(int a,int b) int r,t;if(ab)/*found*/t=a;a=b;b=t;r=a%b;while(r!=0) a=b;b=r;r=a%b;/*found*/return (b);3程序设计假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:删除字符串中所有的*号。在编写函数时,不

52、得使用C语言提供的字符串函数。void fun(char *a)int j=0;char *p=a;while(*p)if(*p!=*)aj+=*p;p+;aj=0;第39套1程序填空 给定程序中,函数fun的功能是:在形参ss所指字符串数组中,删除所有串长超过k的字符串,函数返回所剩字符串的个数。ss所指字符串数组中共有N个字符串,且串长小于M。第1处for(i=0;iN;i+)第2处 if(len=k)第3处 strcpy(ssj+,ssi);2程序修改给定程序MODI1.C中函数fun的功能是:逐个比较p、q所指两个字符串对应位置中的字符,把ASCII值大或相等的字符依次存在放到c所指数

53、组中,形成一个新的字符串。 void fun(char *p,char *q,char *c)/*found*/int k=0;/*found*/while(*p|*q) if(*pdata=x;第2处 q=p;第3处 q-next=s;2程序修改给定程序MODI1.C中函数fun的功能是:计算正整数num的各位上的数字之积。 long fun(long num)/*found*/long k=1;do k*=num%10;/*found*/num/=10;while(num);return (k);3程序设计请编写一个函数fun,它的功能是:计算n门课程的平均分,计算结果作为函数返回。flo

54、at fun(float *a,int n)int i;float ave=0.0;for(i=0;in;i+)ave=ave+ai;ave=ave/n;return ave;第41套1程序填空 给定程序中,函数fun的功能是:计算x所指数组中N个数的平均值(规定所有数均为正数),平均值通过形参返回主函数,将小于平均值且最接近平均值的数作为函数值返回,在主函数中输出。第1处 *av=s/N;第2处 d=*av-xi;j=i;第3处 return xj;2程序修改给定程序MODI1.C中函数fun的功能是:根据整型形参n计算如下公式的值。例如:若n=10,则应输出:0.617977。 A1=1,

55、A2=1/(1+A1),A3=1/(1+A2),An=1/(1+An-1)/*found*/float fun(int n) float A=1;int i;/*found*/for(i=2;i=n;i+)A=1.0/(1+A);return A;3程序设计程序定义了NN的二维数组,并在主函数中自动赋值。请编写函数fun,函数的功能是:使数组右上三角元素中的值乘以m。int fun(int aN,int m)int i,j;for(i=0;iN;i+) for(j=i;jN;j+)aij* = m;第42套1程序填空 给定程序中,函数fun的功能是:将s所指字符串中的所有数字字符移到所有非数字

56、字符之后,并保持数字字符串和非数字字符串原有的先后次序。第1处j+;第2处 si=t1i;第3处 for(i=0;ij;i+)2程序修改给定程序MODI1.C中函数fun的功能是:用冒泡法对6个字符串按由小到大的顺序进行排序。 fun(char *pstr6) int i,j;char *p;for(i=0;i5;i+)/*found*/for(j=i+1;j0)p=*(pstr+i);/*found*/*(pstr+i)=*(pstr+j);*(pstr+j)=p;3程序设计请编写函数fun,它的功能是:求出ss所指字符串中指定字符的个数,并返回此值。int fun(char *ss,cha

57、r c)int cnt=0;char *p=ss;while(*p)if(*p=c)cnt+;p+;return cnt;第43套1程序填空 给定程序中,函数fun的功能是:在形参ss所指字符串中查找与形参t所指字符串相同的串,找到后返回该串在字符串中的位置(下标值),未找到则返回-1。ss所指字符串数组中共有N个内容不同的字符串,且串长小于M。第1处 for(i=0;iN;i+)第2处 if(strcmp(ssi,t)=0) return i;第3处 if(n=-1) printf(“nDont found!n”);2程序修改给定程序MODI1.C中函数fun的功能是:从整数1到55之间,选

58、出能被3整除、且有一位上的数是5的那些数,并把这些数放在b所指的数组中,这些数的个数作为函数值返回。规定,函数中a1放个位数,a2放十位数。 fun(int *b) int k,a1,a2,i=0;for(k=10;k=0&ch=9)第3处 return 9-(ch-0);2程序修改给定程序MODI1.C中函数fun的功能是:将p所指字符串中的所有字符复制到b中,要求复制第三个字符之后插入一个空格。 void fun(char *p,char *b) int i,k=0;while(*p) i=1;while(inext;double av=0.0;int n=0;while(p!=NULL)

59、av=av+p-s;p=p-next;n+;av/=n;return av;第45套1程序填空 函数fun的功能是:把形参a所指数组中的偶数按原顺序依次存放到a0、a1、a2、中,把奇数从数组中删除,偶数个数通过函数值返回。第1处if(ai%2=0)第2处 aj=ai;j+;第3处 return j;2程序修改给定程序AODI1.C中函数fun的功能是:按以下递归公司求函数值。例如,当给n输入5时,函数值为18;当给n输入3时,函数值为14。 10 (n=1)fun(n)= fun(n-1)+2(n1)#include /*found*/fun(int n) int c;/*found*/if

60、(n=1)c=10;else c=fun(n-1)+2;return (c);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(jn&*p)p+;j+;*p=0;第46套1程序填空 给定程序中,函数fun的功能是:利用指针数组对形参ss所指字符串数组中的字符串按由长到短的顺序排序,并输入

61、排序结果。ss所指字符串数组中共有N个字符串,且串长小于M。第1处k=i;第2处 if(strlen(psk)strlen(psj)k=j;第3处 tp=psi;psi=psk;psk=tp;2程序修改已知一个数列从第0项开始的前三项分别为0,0,1,以后的各项都是其相邻的前三项之和。给定程序MODI1.C中函数fun的功能是:计算并输出该数列前n项的平方根之和。n的值通过形参传入。 /*found*/double fun(int n) double sum,s0,s1,s2,s;int k;sum=1.0;if(n=2)sum=0.0;s0=0.0;s1=0.0,s2=1.0;for(k=4

62、;k=n;k+) s=s0+s1+s2;sum+=sqrt(s);s0=s1;s1=s2;s2=s;/*found*/return sum;3程序设计编写函数fun,它的功能是计算下列级数和,和值由函数值返回。例如,当n=10,x=0.3时,函数值为1.349859.S=1+x+x2/2!+x3/3!+xn/n!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;第47套1程序填空给定程序中,函数fun的功能是:找出形参s所指字符串中出现频率最高的字母(

63、不区分大小写),并统计出其出现的次数。第1处ch=tolower(*s);第2处 kn+=1;第3处 if(maxkn)max=kn;2程序修改给定程序MODI1.C中函数fun的功能是:求S的值。例如,当K为10时,函数值应为1.533852。s=12/(1*3) * 42/(3*5)*62/(5*7) +/*found*/float fun(int k) int n;float s,w,p,q;n=1;s=1.0;while(n=k) w=2.0*n;p=w-1.0;q=w+1.0;s=s*w*w/p/q;n+;/*found*/return s;3程序设计编写函数fun,它的功能是计算并

64、输出下列级数和:例如,当n=10时,函数值为0.909091。s=1/(1*2)+1/(2*3)+1/n(n+1)double fun(int n)double s=0.0;int i;for(i=1;i=2)&(mc10)/*found*/if(k%13=0)|(k%17=0) m=m+k;mc+;k-;return m;/*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)s

65、um+=i;return sqrt(sum);第49套1程序填空 给定程序中,函数fun的功能是:将形参s所指字符串所有ASCII码小于97的字符存入形参t所指字符数组中,形成一个新串,并统计出符合条件的字符个数作为函数值返回。第1处 *(t+n)=*s;n+;第2处 s+;第3处 return n;2程序修改给定程序MODI1.C中函数fun的功能是:由形参给定n个实数,输出平均值,并统计在平均值以上(含平均值)的实数个数。 int fun(float x,int n)/*found*/int j,c=0;float xa=0.0;for(j=0;jn;j+)xa+=xj/n;printf(

66、“ave=%fn”,xa);for(j=0;j=xa)c+;return c;3程序设计编写函数fun,其功能是:根据以下公式求p的值,结果由函数值带回。m与n为两个正整数且要求mn。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;第50套1程序填空 给定程序中,函数fun的功能是:有NN 矩阵,以主对角线为对称线,对称元素相加并将结果存放在左下三角元素中,右上三角元素来。第1处 void fun(int (*t)N)第2处 tij=tij+tji;第3处 tji=0;2程序修改给

67、定程序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。 /*found*/#define FU(m,n) (m)/(n)float fun(float a,float b,float c) float value;value=FU(a+b,a-b)+FU(c+b,c-b);/*found*/return (value);3程序设计规定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:将字符串中的前导*号全部删

68、除,中间和尾部的*号不删除。void fun(char *a)int j=0;char *p=a;while(*p=*)p+;while(*p)aj+=*p;p+;aj=0;第51套1程序填空 给定程序中,函数fun的功能是:计算出形参s所指字符串中包含的单词个数,作为函数值返回。为便于统计,规定各单词之间用空格隔开。第1处 n+;flag=1;第2处 if(*s=)flag=0;第3处 s+;2程序修改给定程序MODI1.C中函数fun的功能是:从n(形参)个学生的成绩中统计出低于平均分的学生人数,此人数由函数值返回,平均分存放在形参aver所指的存储单元中。 inf fun(float *

69、s,int n,float *aver) float ave,t=0.0; int count=0,k,i; for(k=0;kn;k+)/*found*/t+=sk;ave=t/n;for(i=0;in;i+)if(siave)count+;/*found*/*aver=ave;return count;3程序设计请编写函数fun,其功能是求出数组的最大元素在数组中的下标并存放在k所指的存储单元。int fun(int *s,int t,int *k)int i,pos=0,max=*s;for(i=1;it;i+)if(max*(s+i)max=*(s+i);pos=i; *k=pos;第

70、52套1程序填空 给定程序中,函数fun的功能是将NN矩阵中元素的值按列右移1个位置,右边被称出矩阵的元素绕回左边。第1处for(i=0;iN;i+)第2处 x=tiN-1;第3处 ti0=x;2程序修改给定程序MODI1.C中函数fun的功能是:计算并输出下列级数的前N项之和Sn,直到Sn+1 大于q为止,q的值通过形参传入。SN=2/1+3/2+4/3+N+1/Ndouble fun(double q) int n;double s,t;n=2;s=2.0;while(s=q)t=s;/*found*/s=s+(n+1.0)/n;n+;printf(“n=%dn”,n);/*found*/

71、return t;3程序设计编写函数fun,它的功能是:求Fibonacci数列中大于t的最小的一个数,结果由函数返回。其中Fibonacci数列F(n)定义为:F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)int fun(int t)int f0=0,f1=1,f;do f=f0+f1; f0=f1;f1=f;while(ft);return f;第53套1程序填空函数fun的功能是:计算f(x)=1+x-x2/2!+x3/3!-x4/4!直到|xn/n!|=1e-6)2程序修改给定程序MODI1.C中函数fun的功能是:求整数x的y次方的低3位值。例如,整数5的6次方为1

72、5625,此值的低3位值为625。 long fun(int x,int y,long *p) int i;long t=1;/*found*/for(i=1;i=y;i+)t=t*s;*p=t;/*found*/t=t%1000;return t;3程序设计请编写函数fun,其功能是:计算并输出当x0.97时下列多项式的值,直到|Sn-Sn-1|=0.000001) xn=xn*x*(0.5-n+1)/n; n+=1;sn+=xn; return(sn);第54套1程序填空 给定程序中,函数fun的功能是:计算出带有头节点的单向链表中各节点数据域中值之和作为函数值返回。第1处 s+=p-da

73、ta;第2处 p=p-next;第3处 printf(“nsum=%dn”,fun(head);2程序修改给定程序MODI1.C中函数fun的功能是:将s所指字符串中出现的与t1所指字符串相同的子串全部替换成t2所指字符串,所形成的新串放在w所指的数组中。在此处,要求t1和t2所指字符串的长度相同。 int fun(char *s,char *t1,char *t2,char *w)int i; char *p,*r,*a;strcpy(w,s)while(*w) p=w;r=t1;/*found*/while(*r) if(*r=*p)r+;p+;else break;if(*r=0) a=

74、w;r=t2;while(*r) /*found*/*a=*r;a+;r+;w+=strlen(t2);else w+;3程序设计函数fun的功能是:将s所指字符串中下标为偶数的字符删除,串中剩余字符形成的新串放在t所指数组中。void fun(char *s,char t)int i,j=0;for(i=1;istrlen(s);i+=2) tj+=si;tj=0;第55套1程序填空 给定程序中,函数fun的功能是:判断形参s所指字符串是否是“回文”(Palindrome)若是,函数返回值为1;不是,函数返回值为0,“回文”是正读和反读都是一样的字符串(不区分大小写字母)。第1处lp=s;第

75、2处 lp+;rp-;第3处 if(lprp)return 0;2程序修改给定程序MODI1.C中函数fun的功能是:求出以下分数序列的前n项之和。2/1+3/2+5/3+8/5+13/8+21/13+和值通过函数值近回main函数。例如,若n=5,则应输出:8.391667。 /*found*/double fun(int n) int a=2,b=1,c,k;double s=0.0;for(k=1;k=n;k+) s=s+1.0*a/b;/*found*/c=a;a+=b;b=c;return (s);3程序设计请编写函数fun,函数的功能是:将大于形参m且紧靠m的k个素数存入xx所指的

76、数组中。例如,若输入17,5,则应输出:19,23,29,31,37,函数fun中给出的语句仅供参考。void fun(int m,int k,int xx)int i,j=1,t=m+1;while(j=k)for(i=2;i0) s=s/100;*t=s%10*s1+*t;/*found*/s1=s1*10;3程序设计函数fun的功能是:将两个两位数的正整数a、b合并形成一个整数放在c 中。合并的方式是:将a数的十位和个位数依次放在c数个位和百位上,b数的十位和个位数依次放在c数的千位和十位上。void fun(int a,int b,long *c)*c=(b/10)*1000+(a%1

77、0)*100+(b%10)*10+(a/10);第57套1程序填空 函数fun的功能是:把形参a所指数组中的最小值放在元素a0中,接着把形参a所指数组中的最大值放在a1元中;再把a所指数组中的次小值放在a2中,把a所指数组元素中的次大值放在a3;其余以此类推。第1处max=min=ai;第2处 if(maxaj)2程序修改给定程序MODI1.C中函数fun的功能是:用递归算法计算斐波拉契数列中第n项的值。从第1项起,斐波拉契数列为:1、1、2、3、5、8、13、21、 long fun(int g)/*found*/switch(g) case 0:return 0;/*found*/case

78、 1:return 1;case 2:return 1;return (fun(g-1)+fun(g-2);3程序设计某学生的记录由学号、8门课程成绩和平均分组成,学号和8门课程成绩已在主函数中给出。请编写函数fun,它的功能是:求出该学生的平均分放在记录的ave成员中。void fun(STREC *a) int i;for(i=0;iave=a-ave+a-si;a-ave/=N;第58套1程序填空 给定程序中,函数fun的功能是;把形参s所指字符串中最左边的n个字符复制到形参t所指字符数组中,形成一个新串,若s所指字符串的长度小于n,则将整个字符串复制到形参t所指字符数组中。第1处 if

79、(n=len)strcpy(t,s);第2处 tj+=si;第3处 tj=0;2程序修改给定程序MODI1.C中函数fun的功能是:找出一个大于形参m且紧随m的素数,并作为函数值返回。 int fun(int m) int i,k;for(i=m+1; ; i+)for(k=2;k=i) return (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

80、(*n)+=i;第59套1程序填空给定程序中,函数fun的功能是:在34的矩阵中找出在行上最大,在列上最小的那个元素,若没有符合条件的元素则输出相应信息。第1处 max=aij;c=j;第2处 find=0;第3处 i+;2程序修改给定程序MODI1.C中函数fun的功能是:根据整形形参m的值,计算如下公式的值。例如:若m中的值为:5,则应输出:0.536389。t=1-1/(2*2)-1/(3*3)-1/(m*m) double fun(int m) double y=1.0;int i;/*found*/for(i=2;i=m;i+)/*found*/ y-=1.0/(i*i);retur

81、n (y);3程序设计m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人数作为函数值返回,将低于平均分的分数放在below所指的数组中。int fun(int score,int m,int below)float av=0.0;int i,j=0;for(i=0;im;i+)av+=scorei;av/=m;for(i=0;iscorei)belowj+=scorei;return j;第60套1程序填空 给定程序中,函数fun的功能是:将形参指针所指结构体数组中的三个元素按num成员进行升序排列。第1处 void fun(PERSON * std)第2处 P

82、ERSON temp;第3处 fun(std);2程序修改给定程序MODI1.C中函数fun的功能是:将m(1m10)个字符串连接起来,组成一个新串,放入pt所指存储区中。 int fun(char str10,int m,char *pt)/*found*/int k,q,i;for(k=0;km;k+) q=strlen(strk);for(i=0;iq;i+)/*found*/pti=strki;pt+=q;pt0=0;3程序设计程序定义了NN的二维数组,并在主函数中自动赋值。请编写函数fun(int a N),函数的功能是:使数组左下三角元素中的值全部置成0。int fun(int a

83、N)int i,j;for(i=0;iN;i+) for(j=0;j=a)&(ch=z)第2处 return ch+a-A第3处 return ch;2程序修改给定程序MODI1.C中函数fun的功能是:给一维数组a输入任意4个整数,并按下列的规律输出。例如输入1、2、3、4,程序运行后将输出以下方阵。4123341223411234/*found*/void fun(int *a) int i,j,k,m;printf(“Enter4 number:”)for(i=0;i0;i-) k=aM-1;for(j=M-1;j0;j-)/*found*/aj=aj-1;a0=k;for(m=0;mM

84、;m+)printf(“%d”,am);printf(“n”);3程序设计请编写一个函数fun,它的功能是:计算并输出给定整数n的所有因子(不包括1与n自身)之和。规定n的值不大于1000。int fun(int n) int s=0,i;for(i=2;in;i+)if(n%i=0)s+=i;return s;第62套1程序填空 给定程序中,函数的功能是:把形参s所指字符串下标为奇数的字符右移到下一个奇数位置,最右边被移出字符串的字符绕回放到第一个奇数位置,下标为偶数的字符不动(注:字符串的长度大于等于2)。例如,形参s所指的字符串为:abcdefgh,执行结果为:ahcbedg。第1处 i

85、f(n%2=0) k=n-1;第2处 c=sk;第3处 s1=c;2程序修改给定程序MODI1.C中fun函数的功能是:求s=aaaa-aaa-aa-a(此处aaaa表示n个a,a和n的值在1至9之间) long fun(int a,int n) int j;/*found*/long s=0,t=0;for(j=0;jn;j+) t=t*10+a;s=t;for(j=1;jn;j+)/*found*/t=t/10;s=s-t;return (s);3程序设计请编写一个函数void fun(char *tt, int pp ),统计在tt所指字符串中a至z26个小写字母各自出现的次数,并依次放

86、在pp数组中。 void fun(char *tt,int pp)char *p=tt;int i;for(i=0;i=a&*p=z)pp*p-a+=1;p+;第63套1程序填空 给定程序中,函数fun的功能是:有NN矩阵,根据给定的m(m=N)值,将每行元素中的值均右移m个位置,左边值为0。第1处 for(i=0;iN;i+)第2处 tij+m=tij;第3处 for(j=0;jm;j+)2程序修改给定程序MODI1.C是函数fun的功能是:计算并输出high以内最大的10个素数之和。high的值由主函数传给fun函数。 int fun(int high) int sum=0,n=0,j,y

87、es;/*found*/while(2=high)&(n10) yes=1;for(j=2;j0.000001);return x1;第64套1程序填空 给定程序中,函数fun的功能是:将a所指35矩阵中第k列的元素左移到第0列,第k列以后的每列元素行依次左移,原来左边的各列依次绕到右边。第1处for(p=1;p=k;p+)第2处 for(j=0;jN-1;j+)aij=aij+1;第3处 aiN-1=temp;2程序修改给定程序MODI1.C是函数fun的功能是:根据形参m的值(2m9),在m行m列的二维数组中存放如下所示规律的数据,由main函数输出。例如,若输入2则输出1224/*fou

88、nd*/fun(int aM,int m) int j,k;for(j=0;jm;j+) for(k=0;km;k+)/*found*/ajk=(k+1)*(j+1);3程序设计函数fun的功能是:将a、b中的两位正整数合并形成一个新的整数放在c中。合并的方式是:将a中的十位和个位数依次放在变量c的十位和千位上,b中的十位和个位数依次放在变量c的个位和百位上。void fun(int a,int b,int *c)*c=(a%10)*1000+(b%10)*100+(a/10)*10+(b/10);第65套1程序填空给定程序中,函数fun的功能:将a所指43矩阵中第k行的元素与第0行元素交换。

89、例如:有下列矩阵123456789101112若k为2,程序执行结果为789456123101112第1处 void fun(int (*a)N,int k)第2处 for(i=0;iN;i+)第3处 a0i=aki;2程序修改给定程序MODI1.C中函数fun的功能是:读入一个字符串(长度20),将该字符串中的所有字符按ASCII码升序排序后输出。例如,若输入edcba,则应输出:abcde。 void fun(char t)char c;int i,j;/*found*/for(i=strlen(t)-1;i;i-)for(j=0;jtj+1)c=tj;tj=tj+1;tj+1=c;3程序

90、设计请编写一个函数fun,其功能:将ss所指字符串中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换)。void fun(char *ss)char *p=ss;int i=0;while(*p)if(i%2)&(*p=a&*p=z)*p-=32;p+;i+;第66套1程序填空 给定程序中,函数fun的功能是:将形参std所指结构体数组中年龄最大者的数据作为函数值返回,并在main函数中输出。第1处 max=*std;第2处 if(max.agestdi.age) max=stdi;第3处 printf(“n Name:%s,Age:%dn”,max.name,max.age

91、);2程序修改给定程序MODI1.C中函数fun的功能是:实现两个整数的交换。例如给a和b分别输入:60和65,输出为:a=65 b=60 /*found*/void fun(int *a,int *b) int t;/*found*/t=*b;*b=*a;*a=t;3程序设计请编一个函数void fun(int ttMN,int ppN),tt指向一个M行N列的二维数组,求出二维数组每列中最小元素,并依次放入pp所指一维数组中。二维数组中的数已在主函数中赋予。void fun(int ttMN,int ppN)int i,j,min,k;for(i=0;iN;i+)min=tt0i;k=0;

92、for(j=1;jttji) min=ttji;k=j;ppi=ttki;第67套1程序填空 给定程序中,函数fun的功能是:调用随机函数产生20个互不相同的整数放在形参a所指数组中(此数组在主函数中已置0)。第1处 while(nN)第2处 if(x=ai)break;第3处 if(i=n) an=x;n+;2程序修改给定程序MODI1.C中函数fun的功能是:先从键盘上输入一个3行3列矩阵的各个元素的值,然后输出主对角线元素之和。 int fun()int a33,sum;int i,j;/*found*/sum=0;for(i=0;i3;i+) for(j=0;j3;j+)/*found

93、*/scanf(“%d”,&aij);for(i=0;i3;i+) sum=sum+aii;printf(“Sum=%dn”,sum);3程序设计编写程序,实现矩阵(3行3列)的转置(即行列互换)int fun(int array33)int i,j,arr33;memcpy(arr,array,9*sizeof(int);for(i=0;i3;i+) for(j=0;j3;j+)arrayij=arrji;第68套1程序填空 给定程序中,函数fun的功能是:求ss所指字符串数组中长度最长的字符串所在的行下标,作为函数值返回,并把其串长放在形参n所指变量中。ss所指字符串数组中共M个字符串,且

94、串长N。第1处int fun(char (*ss)N,int *n)第2处 if(i=0)*n=len;第3处 *n=len;2程序修改给定程序MODI1.C中函数fun的功能是:根据形参m计算如下公式的值。例如,若输入5,则应输出2.283333。 t=1+1/2+1/3+1/4+ +1/mdouble fun(int m) double t=1.0;int i;for(i=2;i=A&*s=a&*s=z)/*found*/*b=*b+1;s+;3程序设计请编写函数fun,函数的功能是使用实型整数保留2位小数,并对第三位进行四舍五入(规定实型数为正数)float fun(float h)lo

95、ng w;w=h*100+1.5;return (float)w/100;第70套1程序填空 给定程序中,函数fun的功能是:计算形参x所指数组中N个数的平均值(规定所有数均为正数),作为函数值返回,并将大于平均值的数放在形参Y所指数组中,在主函数中输出。第1处av=0;第2处 av=av+xi/N;第3处 yj+=xi;2程序修改给定程序MODI1.C中函数fun的功能是:根据整型形参m,计算如下公式的值。1/100*100+1/200*200+1/300*300+1/m*m。/*found*/double fun(int m) double y=0,d;int i;/*found*/for

96、(i=100;i=m;i+=100) d=(double)i*(double)i;y+=1.0/d;return (y);3程序设计已知学生的记录由学号和学生成绩构成,N名学生的数据已存入a结构体数组中,请编写函数的功能是:找出成绩最低的学生记录,通过形参返回主函数(规定只有一个最低分)fun(STU a,STU *s) int i,min=a0,s,j=0;for(i=1;iai.s)j=i;min=ai.s;*s=aj;第71套1程序填空 给定程序中,函数fun的功能是,将形参s所指字符串中的所有数字字符顺序前移,其他字符顺序后移,处理后新字符串的首地址作为函数值返回。第1处pj=si;j

97、+;第2处 for(i=0;ik;i+)pj+i=ti;第3处 return p;2程序修改给定程序MODI1.C中函数fun的功能是:首先把b所指字符串中的字符按逆序存放,然后将a所指字符串中的字符和b所指字符串中的字符,按排列的顺序交叉合并到c所指数组中,过长的剩余字符接在c所指数组的尾部。 void fun(char *a,char *b,char *c) int i,j;char ch;i=0;j=strlen(b)-1;/*found*/while(ij) ch=bi;bi=bj;bj=ch;i+;j-;while(*a|*b)/*found*/if(*a) *c=*a;c+;a+;

98、if(*b)*c=*b;c+;b+;*c=0;3程序设计函数fun的功能是:将s所指字符串中下标为偶数同时ASCII值为奇数的字符删除,s所指串中剩余的字符形成的新串放在t所指的数组中。void fun(char *s,char t)int i,j=0;for(i=0;istrlen(s);i+)if(!(i%2)=0&(si%2)tj+=si;tj=0;第72套1程序填空 给定程序中,函数fun的功能是:计算下式s=1/22+3/42+5/62+(2n-1)/(2n)2直到 | (2n-1)/(2n)2|10-3并把计算结果作为函数值返回。例如,若形参e的值为 1e-3,函数值的返回值2.7

99、35678.第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)int i,d;d=strlen(s);for(i=0;id;i+)ti=si;for(i=0;id;i+)td+i=sd-1-i;/*found*/t2*d=0;3程序设计函数fun的功能是:将s所指字符串中除了下标为奇数、同时ASCII值也为奇数的字符之外,其余的所有字符都删除,串中剩余字符所形成

100、的一个新串放在t所指的数组中。void fun(char *s,chat t) int i,j=0;for(i=1;ie)第3处 x=(2*i+1)/(t*t);2程序修改给定程序MODI1.C中函数fun的功能是:求出以下分数序列的前n项之和。 2/1,3/2,5/2,8/5,13/8,31/13和值通过函数值返回到main函数。/*found*/double fun(int n) int a,b,c,k;double s;s=0.0;a=2;b=1;for(k=1;k=n;k+) /*found*/s=s+(double)a/b;c=a;a=a+b;b=c;return s;3程序设计请编

101、写一个函数fun,它的功能是:求出一个2M整型二维数组中最大元素的值,并将此值返回调有函数。fun(int aM)int i,j,max=a00;for(i=0;i2;i+) for(j=0;jM;j+)if(maxaij)max=aij;return max;第74套1程序填空人员的记录由编号和出生年、月、日组成,N名人员的数据已在主函数中存入结构体数组std中。函数fun的功能是:找出指定出生年份的人员,将其数据放在形参k所指的数组中,由主函数输出,同时由函数值返回满足指定条件的人数。第1处 if(stdi.year=year)第2处 kn+=stdi;第3处 return (n);2程序

102、修改给定程序MODI1.C的功能是:读入一个整数k (2k10000) ,打印它的所有质因子(即所有为素数的因子)。 /*found*/ IsPrime(int n) int i,m;m=1;for(i=2;in;i+)/*found*/if(!(n%i) m=0;break;return (m);3程序设计已知学生的记录由学号和学习成绩构成,N名学生的数据已存入结构体数组a中。请编写函数fun,函数的功能是:找出成绩最高的学生的记录,通过形参指针传回主函数(规定只有一个最高分)。已给出函数的首部,请完成该函数。fun(STU a,STU *s)int i,max=a0.s,j=0;for(i

103、=1;iN;i+) if(maxai.s) j=i;max=ai.s;*s=aj;第75套1程序填空 给定程序中,函数fun的功能是:对行参ss所指字符串数组中的M个字符串按长度有短到长进行排序。ss所指字符串数组中共有M个字符,且串长N。第1处for(j=i+1;j=0;j-)bi+=sj;strcpy(s,b);第76套1程序填空 给定程序中,函数fun的功能是:计算下式前5项的和作为函数值返回。s=13/22-35/42+57/62-+(-1) n-1(2n-1) (2n+1)/( 2n) 2例如,当形参n的值为10时,函数返回:-0.204491。第1处k=1;第2处 t=2*j;第3

104、处 k=k*(-1);2程序修改给定程序MODI1.C中函数fun的功能是:判断一个整数是否是素数,若是返回1,否则返回0。 int fun(int m) int k=2;while(k=m&(m%k)/*found*/k+;/*found*/if(m=k)return 1;else return 0;3程序设计请编写一个函数fun,它的功能是:找出一维整型数组元素中最大的值和它所在的下标,最大的值和它所在的下标通过形参传回。数组元素中的值已在主函数中赋予。主函数中x是数组名,n是x中的数据个数,max存放最大值,index存放最大值所在元素的下标。void fun(int a,int n,i

105、nt *max,int *d)int i;*max=a0;*d=0;for(i=1;in;i+)if(*max0) d=s%10;/*found*/if(d%2!=0) *t=d*sl+*t;s1*=10;s/=10;3程序设计编写一个函数fun,它的功能是:实现两个字符串的连接(不使用库函数strcat),即把p2所指的字符串连接到p1所指的字符串后。void fun(char p,char p2)char *p=p1;while(*p)p+;while(*p2)*p+=*p2+;*p=0;第78套1程序填空给定程序中,函数fun的功能是:将NN矩阵主对角线元素中的值与反向对角线对应位置上元

106、素中的值进行交换。例如,若N=3有下列矩阵:123456789交换后:321456987第1处 void fun(int tN,int n)第2处 for(i=0;in;i+)第3处 tin-i-1=s;2程序修改由N个有序整数组成的数列已放在一维数组中,给定程序MODI1.C中函数fun的功能是:利用折半查找算法查找整数m在数组中的位置。若找到,返回其下标值;反之,返回-1。折半查找的基本算法是:每次查找前先确定数组中待查的范围:low和high(lowhigh,查找结束。 /*found*/fun(int a,int m) int low=0,high=N-1,mid;while(low=

107、high) mid=(low+high)/2;if(mamid)low=mid+1;else return (mid);return (-1);3程序设计假定输入的字符串中只包含字母和*号,请编写函数fun,它的功能是:除了尾部的*号之外,将字符串中其它*全部删除。形参p已指向字符串中最后一个字母。在编写函数时,不得使用C语言提供的字符串函数。void fun(char *a,char *p)char *q=a;int j=0;while(*q&qp)if(*q!=*)aj+=*q;q+;while(*p)aj+=*p+;aj=0;第79套1程序填空 给定程序中,函数fun的功能是:求ss所指

108、字符串数组中长度最短的字符串所在的行下标,作为函数值返回,并把其串长放在形参n所指变量中。Ss所指字符串数组中共的M个字符串,且串长N。第1处 for(i=0;iM;i+)第2处 if(len*n)第3处 return (k);2程序修改给定程序MODI1.C函数fun的功能是:将功能是:将tt所指字符串中的小写字母都改为对应的大写字母,其它字符不变。 char *fun(char tt)int i;for(i=0;tti;i+)/*found*/if(a=tti)&(tti=z)/*found*/tti-=32;return (tt);3程序设计请编写函数fun,其功能是:将所有大于1小于整

109、数m的非素数存入xx所指数组中,非素数的个数通过k传回。void fun(int m,int *k,int xx)int i,cnt=0;for(i=0;im;i+)if(isP(i)xxcnt+=i;*k=cnt;第80套1程序填空 给定程序中,函数fun的功能是:将形参n中,各位上为偶数的数取出,并按原来从高位到低们的顺序组成一个新的数。并作为函数值返回。第1处i=1;第2处 while(s)第3处 x=x+t*i;i=i*10;2程序修改给定程序MODI1.C中函数fun的功能是:输出M行M列整数方阵,然后求两条对角线上元素之和,返回此和数。 /*found*/int fun(int n

110、,int xxM) int i,j,sum=0;printf(“nThe %d x%d matrix:n”,M,M);for(i=0;iM;i+) for(j=0;jM;j+)/*found*/printf(“%d”,xxij);printf(“n”);for(i=0;i=0&si=9)第2处 while(si+1+n!=0)n+;第3处 sj+1=sj;2程序修改给定程序MODI1.C中函数fun的功能是:根据整形形参m=1,计算如下公式的值。m=1+1/2*2+1/3*3+1/4*41/m*m例如,若m中的值为:5,则应输出1.463611。double fun(int m) double

111、 y=1.0;int i; /*found*/for(i=2;i=m;i+)/*found*/y+=1.0/(i*i);return (y);3程序设计编写函数fun,函数的功能是:实现B=A+A,即把矩阵A加上A的转置,存放在矩阵B中。计算结果在main函数中输出。void fun(int a33,int b33)int c33;int i,j;for(i=0;i3;i+) for(j=0;j3;j+) cij=aji;bij=aij+cij;第82套1程序填空 给定程序中,函数fun的功能是:找出100999之间(含100和999)所有整数中各位上数字之和为x(x为一正整数)的整数,然后输

112、出:符合条件的整数个数作为函数值返回。第1处while(t0) s=s/100;*t=s%10*s1+*t;s1=s1*10;3程序设计学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:按分数的高低排列学生的记录,高分在前。int fun(STREC a)STREC tmp;int i,j;for(i=0;iN;i+) for(j=i+1;jN;j+)if(ai.saj.s) tmp=ai;ai=aj;aj=tmp;第83套1程序填空 给定程序中,函数fun的功能是:找出100至x(x999)之间各位上的数字之和为15的所有整数,然后输出:

113、符合条件的整数个数作为函数值返回。第1处n=0;第2处 while(t=x)第3处 t+;2程序修改给定程序MODI1.C中函数fun的功能是:先将s所指字符串中的字符按逆序存放到t所指字符串中,然后把s所指字符串中的字符按正序连接到t所指串的后面。 void fun(char *s,char *t)/*found*/int i,s1;s1=strlen(s);for(i=0;is1;i+)/*found*/ti=ss1-i-1;for(i=0;ib?(bc?b:(ac?c:a):(ac)?c:b); 2程序修改给定程序MODI1.C中函数fun的功能是:首先将大写字母转换为对应小写字母:若小

114、写字母为au,则将其转换为其后的第5个字母;若小写字母为vz,使其值减21。转换后的小写字母作为函数值返回。 char fun(char c) if(c=A&c=a&c=v&c=z)c=c-21;return c;3程序设计请编写函数fun,其功能是:计算并输出例如,在主函数中从键盘给n输入20后,输出为:s=534.188884。注意:要求n的值大于1但不大于100。double fun(int n)int i;double fac=1.0;double sum=1.0;for(i=2;i=n;i+) fac+=sqrt(i);sum+=fac;return sum;第85套1程序填空给定程

115、序的功能是调用 fun函数建立班级通讯录。通讯录中记录每位学生的编号、姓名和电话号码。班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat的二进制文件中。第1处int fun(STYPE *std)第2处 FILE *fp;int i;第3处 fwrite(&stdi,sizeof(STYPE),1,fp);2程序修改给定程序MODI1.C中函数fun的功能是:先将在字符串s中的字符按正序存放到t串中,然后把s中的字符按逆序连接到t串的后面。 void fun(char *s,char *t) int i,s1;s1=strlen(s);/*found*/

116、for(i=0;is1;i+)ti=si;for(i=0;is1;i+)ts1+i=ss1-i-1;/*found*/t2*s1=0;3程序设计函数fun的功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的千位和十位上,b数的十位和个位数依次放在c数的百位和个位上。void fun(int a,int b,long *c)*c=(a/10)*1000+(b/10)*100+(a%10)*10+(b%10);第86套1程序填空 甲乙丙丁四人同时开始放鞭炮,甲每隔t1秒放一次,乙每隔t2秒放一次,两每隔t3秒放一次,丁每隔t4秒放一次,每人

117、各放n次。函数fun的功能是根据形参提供的值,求出总共听到多少次鞭炮声作为函数值返回。注意,当几个鞭炮同时炸响,只算一次响声,第一次响声是在第0秒。第1处 maxt=t1; 第2处 for(t=1;tc&b+ca&a+cb)if(a=b|b=c)return 3;else if(a=b|b=c|a=c)return 2;/*found*/else return 1;else return 0;3程序设计编写函数fun,其功能是:计算并输出3到n之间(含3和n)所有素数的平方根之和。double fun(int n)int i,j=0;double s=0;for(i=3;i=n;i+)for(

118、j=2;ji;j+) if(i%j=0)break;if(j=i)s=s+sqrt(i);return s;第87套1程序填空 函数fun的功能是:统计长整数n的各个位上出现数1、2、3的次数,并通过外部(全局)变量c1,c2,c3返回主函数。第1处 switch(n%10)第2处 case 1: c1+;break;第3处 case 2:c2+;break;2程序修改给定程序MODI1.C中函数fun的功能是:统计一个无符号整数中各位数字值为零的个数,通过形参传回主函数并把该整数中各位上最大的数字值作为函数值返回。 int fun(unsigned n,int *zero) int coun

119、t =0,max=0,t;do t=n%10;/*found*/if(t=0)count+;if(maxt)max=t;n=n/10; while(n);/*found*/*zero=count;return max;3程序设计请编写函数fun,其功能是:计算并输出下列多项式的值:s=1+1/1*2+1/1*2*3+1/1*2*3*50例如,在主函数中从键盘给n输入50后,输出为:s=1.718282。double fun(int n)double s=0,t=1;int i;for(i=1;i=n;i+) t*=i;s+=1.0/t;return s;第88套1程序填空 函数fun的功能是:

120、反形参a所指数组中的最大值放在a0中,接着求出a所指数组中的最小值放在a1中;再把a所指数组元素中的次大值放在a2中,把a数组元素中的次小值放在a3中;蓁以此类推。第1处 void fun(int *a,int n)第2处 for(i=0;in-1;i+=2)第3处 for(j=i+1;jn;j+)2程序修改给定程序MODI1.C中函数fun的功能是:按顺序给s所指数组中元素赋予从2开始的偶数,然后再按顺序对每五个元素求一个平均值,并将这些值依次存放在w所指的数组中,若s所指数组中元素的个数不是5的倍数,多余部分忽略不计。 fun(double *s,double *w)int k,i;dou

121、ble sum;for(k=2,i=0;iSIZE;i+) si=k;k+=2; /*found*/sum=0.0;for(k=0,i=0;iSIZE;i+) sum+=si;/*found*/if(i+1)%5=0) wk=sum/5;sum=0;k+;return k;3程序设计学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把低于平均分的学生数据放在b所指的数组中,低于平均分的学生人数通过形参n传回。平均分通过函数值返回。double fun(STREC *a,STREC *b,int *n)int i;double ave=0.0

122、;*n=0;for(i=0;iN;i+) ave=ave+ai.s;ave/=N;for(i=0;iN:i+) if(ai.save) b*n=ai; (*n)+;return ave;第89套1程序填空 给定程序中,函数fun的功能是:求出形参aa所指字符串数组中最长的字符串的长度,其余字符串左边用字符*补齐,使其与最长的字符串等长。字符串数组中共有M个字符串,且串长=0;j-)第3处 ssij=*;2程序修改给定程序MODI1.C中fun函数的功能是:计算整数n的阶乘。请改正程序中的错误或在下划线处填上适当的内容并把下划线删除,使它能计算出正确的结果。 double fun(int n)

123、double result=1.0;while(n1&n2)的素数的个数,素数的个数作为函数值返回。第1处 for(j=2;j=i)2程序修改数列中,第一项值为3,后一项都比前一项的值增5;给定程序MODI1.C中函数fun的功能是:计算前n(4n50)项的累加和;每累加一次把被4除后余2的当前累加值放入数组中,符合此条件的累加值的个数作为函数值返回主函数。 int fun(int m,int *a) int i,j,k,sum;/*found*/sum=0;j=0;for(k=3,i=0;i1&n=100) for(i=1;i=n;i+)sum+=1.0/(2*i-1)-1.0/(2*i);

124、return sum;第91套1程序填空给定程序中,函数fun的功能是计算f(x)=1+x+x2/2!+xn/n!直到|x/n!|10-6若x=2.5,函数值为:12.182494。第1处 f=1.0+x;第2处 t*=x/n第3处 f+=t;2程序修改给定程序MODI1.C中函数fun的功能是:计算n的5次方的值(规定n的值大于2小于8),通过形参指针传向主函数;并计算该值的个位、十位、百位上数字之和作为函数值返回。 int fun(int n,int *value) int d,s,i;/*found*/d=1;s=0;for(i=1;i=5;i+)d=d*n;*value=d;for(i

125、=1;i=3;i+) s=s+d%10;/*found*/d=d/10;return s;3程序设计编写函数fun,它的功能是:计算并输出给定数组(长度为9)中每相邻两个元素之平均值的平方根之和。double fun(double x9)int i;double avg=0.0,sum=0.0;for(i=0;i8;i+)avg=(xi+xi+1)/2;sum+=sqrt(avg);return sum;第92套1程序填空 给定程序中,函数fun的功能是:计算f(x)=1+x+x2/2!+xn/n!的前n项。若x=2.5,函数值为:12.182340。的前n项。若x=2.5,函数值为:12.1

126、82340。第1处 t=1;第2处 for(i=1;in;i+)第3处 t*=x/i;2程序修改给定程序MODI1.C中函数fun的功能是;找出100至n(不大于1000)之间三位数字相等的所有整数,把这些整数放在s所指数组中,把这些整数放在s所指数组中,个数作为函数值返回。 int fum(int *s,int n) int i,j,k,a,b,c;j=0;for(i=100;in;+)/*found*/k=i;a=k%10;k/=10;b=k%10;k/=10;/*found*/c=k%10;if(a=b&a=c)sj+=i;return j;3程序设计请编写函数fun的功能是:计算并输出

127、给定10个数的方差:例如:给定的10个数为95.0,89.0,76.0,65.0,88.0,72.0,85.0,81.0,90.0,56.0,l输出为s=11.730729。double fun(double x10)int i;double avg=0.0,sum=0.0,abs=0.0,fc;for(i=0;i10;i+)sum+=xi;avg=sum/10;for(i=0;inext;第2处 printf(“%d”,t-data);第3处 free(t);2程序修改给定程序MODI1.C中fun函数的功能是:将字符串中的字符按逆序输出,但不改变字符串的内容。 /*found*/fun(c

128、har *a) if(*a) fun(a+1);/*found*/printf(“%c”,*a);3程序设计编写一个函数fun,它的功能是:比较两个字符串的长度,(不得调用C语言提供的求字符串长度的函数),函数返回较长的字符串。若两个字符串长度相同,则返回第一个字符串。char *fun(char *s,char *t)int i;char *p=s,*q=t;for(i=0;*p&*q;i+)p+;q+;if(*p=0&*q=0)return s;if(*p)return s;else return t;第94套1程序填空 函数fun的功能是计算f(x)=1+x-2/2!+3/3!-4/4!

129、+的前n项和。若x=2.5,n=15时,函数值为1.917914前n项之和。若x=2,n=5时,函数值为:1.917914。第1处 f=1;第2处 t*=(-1)*x/i;第3处 f+=t;2程序修改给定程序MODI1.C中函数fun的功能是:从3个红球,5个白球,6个黑球中任意取出8个作为一组,进行输出。在每组中,可以没有黑球,但必须要有红球和白球。组合数作为函数值返回。正确的组合数应该是15。程序中i的值代表红球数,j的值代表白球数,k的值代表黑球数。 int fun() int i,j,k,sum=0;printf(“nThe result :nn”);/*found*/for(i=1;

130、i=3;i+) for(j=1;j=0&k=6) sum=sum+1;printf(“red:%4d white:%4d black:%4dn”,i,j,k);return sum;3程序设计请编写函数fun,其功能是:计算并输出下列多项式的值:sn=1+1/1!+1/2!+1/3!+1/4!+1/n!例如:在主函数中从键盘给n输入15,则输出为:s=2.718282。注意:要求n的值大于1但不大于100。double fun(int n)double s=1;long t=1;int i;for(i=1;i0.001) if(funx(r)*funx(n)0)m=r;esle n=r;r=(

131、m+n)/2;return r;3程序设计假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:除了字符串前导和尾部的*号之外,将串中其他*号全部删除。形参h已指向字符串中第一个字母,形参p已指向字符串中最后一个字母。在编写函数时,不得使用c语言提供的字符串函数。void fun(char *a,char *h,char *p)int j=0;char *q=a;while(*q&qh)aj+=*q+;while(*h&*p&h=0;j-)第3处 tjN-1=rj;2程序修改给定程序MODI1.C中函数fun的功能是:计算s=f(-n)+f(-n+1)+f(0)+f(1)+f(2)

132、+f(n)的值。例如,当n为5时,函数值应为:10.407143。 /*found*/double f(double x)if(x=0.0|x=2.0)return 0.0;else if(x0.0)return (x-1)/(x-2);else return (x+1)/(x+2);double fun(int n) int i;double s=0.0,y;for(i=-n;i=n;i+) y=f(1.0*i);s+=y;/*found*/return s;3程序设计编写函数fun,它的功能是计算:s=根号下(ln(1)+ln(2)+ln(3)+ln(m)S作为函数返回,在C语言中可调用l

133、og(n)函数求ln(n)。log函数的引用说明是:Double log(double x)例如,若m的值为:20,fun函数值为:6.506583。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;第97套1程序填空 函数fun的功能是:逆置数组元素是的值。例如:若a所指数组中的数据依次为:1、2、3、4、5、6、7、8、9,则逆置后依次为:9、8、7、6、5、4、3、2、1。形参n给出数组中数组中数据的个数。第1处for(i=0;in/2;i+)第2处 ai=an-1-i

134、;第3处 an-i-1=t;2程序修改给定程序MODI1.C中函数fun的功能是:将一个由八进制数字字符组成的字符串转换为与其面值相等的十进制整数。规定输入的字符串最多只能包含5位八进制数字字符。 int fun(char *p) int n;/*found*/n=*p-0;p+;while(*p!=0)/*found*/n=n*8+*p-0;p+;return n;3程序设计学生的记录由学号和成绩组成,N名学生的数据已在主函数中的放入结构体数组s中,请编写函数fun,它的功能是:函数返回指定学号的学生数据,指定的学号在主函数中输入,若没找到指定学号,在结构体变量中给学号置空串,给成绩置-1,

135、作为函数值返回。(用于字符串比较的函数是strcmp)。STREC fun(STREC *a,char *b)STREC c;int i;c.num0=0;c.s=-1;for(i=0;idata=ch)return n;第3处 k=fun(head,ch);2程序修改给定程序MODI1.C中函数fun的功能是:删除p所指字符串的所有空白字符(包括制表符、回车符及换行符)。输入字符串时用#结束输入。 fun(char *p) int i,t;char c80;/*found*/for(i=0,t=0;pi;i+)if(!isspace(*(p+i)ct+=pi; /*found*/ct=0;s

136、trcpy(p,c);3程序设计请编写一个函数fun,将ss所指字符串中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换)。void fun(char *ss)int i;for(i=1;i=a&ssi=z)ssi-=32;第99套1程序填空 函数fun的功能是:将形参观者工所指数组中的前半部分元素中的值和后半部分元素中的值对换。形参n中存放数组中数据的个数,若n为奇数,则中间的元素不动。第1处 p=(n%2=0)?n/2:n/2+1;第2处 ai=ap+i;第3处 ap+i=t;2程序修改给定程序MODI1.C中函数fun的功能是:把主函数中输入的3个数,最大的放在a中,最

137、小的放在c中,中间的放在b中。void fun(float *a,float *b,float *c) /*found*/float k;if(*a*b) k=*a;*a=*b;*b=k;/*found*/ if(*a*c) k=*a;*a=*c;*c=k;if(*b*c)k=*b;*b=*c;*c=k;3程序设计学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把分数最高的学生数据放在b所指的数组中,注意:分数最高的学生可能不止一个,函数返回分数最高的学生的人数。int fun(STREC *a,STREC *b)int i,max=a0

138、.s,n=0;for(i=1;iN;i+)if(maxai.s)max=ai.s;for(i=0;iN;i+)if(max=ai.s)bn+=ai;reutnr n;第100套1程序填空 给定程序中,函数fun的功能是在形参s所指字符串中寻找与参数c相同的字符,并在其后插入一个与之相同的字符,若找不到相同的字符则函数不做任何处理。第1处 for(i=0;si!=0;i+)第2处 n=0;第3处 sj+1=c;2程序修改在主函数中从键盘输入若干个数放入数组中,用0结束输入并放在最后一个元素中。给定程序MODI1.C中函数fun的功能是:计算数组元素中值为正数的平均值(不包括0) double f

139、un(int x)/*found*/double sum=0.0;int c=0,i=0;while(xi!=0) if(xi!=0)sum+=xi;c+;i+;/*found*/sum/=c;return sum;3程序设计编写函数fun,它的功能是:根据以下分工计算s,计算结果作为函数值返回:n通过形参传入。s=1+1/(1+2)+1/(1+2+3)+1/(1+2+3+n)例如:若n 的值为11时,函数的值为1.833333float fun(int n)int i,j,t;float s=0;for(i=1;i=n;i+)t=0;for(j=1;j=i;j+)t+=j;s=s+1.0/t;return s;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高中资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:文库网官方知乎号:文库网

经营许可证编号: 粤ICP备2021046453号世界地图

文库网官网©版权所有2025营业执照举报