sn+=1.0/t;} return sn;}
69: 第69题 请编写一个函数fun,它的功能时:求fibonacci数列中大于t的最小的一个数,结果由函数返回。其中fibonacci数列f(n)的定义为: f(0)=0,f(1)=1,f(n)=f(n-1)+f(n-2) 答案:
f(0)=0,f(1)=1,f(n)=f(n-1)+f(n-2) int fun(int t) {int a=1,b=1,c=0,i; for(i=4;i<=t;i++) {if(c<t) {c=a+b; a=b; b=c;} else break;} return c;}
70: 第70题 编写函数fun,它的功能时:计算并输出下列级数和: 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<=n;i++) s=s+1.0/(i*(i+1)); return s;}
71: 第71题 请编写函数fun,其功能时:将两个两位数的正整数a、b合并形成一个整数放在c中,合并的方式是:将a数的十位和个位数依次放在c数的十位和千位上,b的十位和个位整数依次放在c数的百位和个位上。 答案:
void fun(int a,int b,long *c)
{*c=(a)*1000+(b/10)*100+(a/10)*10+b;}
31
72: 第72题 请编写函数fun,其功能是:将s所指字符串中下标为偶数的字符删除,串中剩余字符形成新串放在t所指数组中。 答案:
void fun(char *s,char t[]) {int i,j=0,n=strlen(s); for(i=0;i<n;i++) if(i%2!=0) {t[j]=s; j++;}
t[j]=‘\\0’;}
73: 第73题 假定输入的字符串中只包含字母和*号,请编写函数fun,它的功能是:除了字符串前导和尾部的*号之外,将串中其他*号全部删除。形参h已指向字符串第一个字符,形参p已指向字符串中最后一个字母。在编写程序时,不得使用c语言提供的字符串函数。 答案:
void fun(char *a,char *h,char *p) {int i=0; char *q=a; while(q<h) {a=*q; q++; i++;} while(q<p) {if(*q!=‘’*) {a=*q; i++;} q++;} while(*q) {a=*q; i++; q++;} a=‘\\0’;}
74: 第74题 学生的记录由学号和成绩组成n名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能时:把分数最低的学生数据放在h所指的数组中,注意:分数最低的学生可能不止一个,函数返回分数最低的学生的人数。 答案:
32
int fun(strec *a,strec *b) {int i,j=0,n=0,min; min=a[0].s; for(i=0;i<n;i++) if(a.s<min) min=a.s;
for(i=0;i<n;i++) if(a.s==min) {*(b+j)=a; j++; n++;} return n;}
75: 第75题 请编写函数fun ,该函数的功能:将m行n列的二维数组中的数据,按列的顺学依次放到一维数组中。 答案:
void fun(int (*s)[]10,int *b,int *n,int mm,int nn) {int i,j;
for(j=0;j<nn;j++) for(i=0;i<mm;i++) {b[*n]=*(*(s+i)+j); *n=*n+1;}}
76: 第76题 请编写函数fun,其功能时:计算并输出当x<0.97时下列多项式的值,直到|sn-s(n-1)|<0.000001为止。
Sn=1+0.5x+0.5(0.5-1)/2!x(2)+…+0.5(0.5-1)(0.5-2)…..(0.5-n+1)/n!x(n) 答案:
.double fun(double x)
{double s1=1.0,p=1.0,sum=0.0,s0,t=1.0; int n=1; do {s0=s1; sum+=s0; t*=n;
p*=(0.5-n+1)*x; s1=p/t;
n++;}while(fabs(s1-s0)>1e-6); return sum;}
33
77: 第77题 请编写一个函数fun,其功能是:将两个两位数的正整数ab合并形成一个整数放在c中。合并方式是:将a数的十位和个位数依次放在c数的个位和百位上,b数的十位和个位数依次放在c数的十位和千位上。 答案:
void fun(int a,int b,long *c)
{*c=(b)*1000+(a)*100+(b/10)*10+a/10;}
78: 第78题 请编写函数fun,其功能是:将s所指字符串中ascii值为偶数的字符删除,串中剩余字符形成一个新串放在t所指的数组中。 答案:
void fun(char *s,char t[]) {int i,j=0,n=strlen(s); for(i=0;i<n;i++) if (s%2!=0) {t[j]=s; j++;}
t[j]=‘\\0’;}
79: 第79题 已知学生的记录由学号和学习成绩构成,n名学生的数据已存入a结构体数组中。请编写函数fun,该函数的功能是:找出成绩最低的学生记录,通过形参返回主函数(规定只有一个最低分)。 答案:
void fun(stu a[],stu *s) {int i,min; min=a[0].s; for(i=0;i<n;i++) if(a.s<min) {min=a.s; *s=a;}}
80: 第80题 程序定义了n×n的二维数组,并在主函数中自动赋值。请编写函数fun,该函数的功能是:使数组左下半三角元素中的值乘以n。 答案:
34
fun(int a[][n],int n) {int i,j;
for(i=0;i<n;i++) for(j=0;j<=i;j++) a[j]=a[j]*n;}
81: 第81题 请编写函数fun,其功能使:将两个两位正整数a b合并形成一个整数放在c中。合并的方式使:将a数的十位和个位数依次放在c数的百位和个位上,b数的十位和个位数依次放在c数的千位和十位上。 答案:
void fun(int a,int b,long *c)
{*c=(b/10)*1000+(a/10)*100+(b)*10+a;}
82: 第82题 请编写一个函数fun,它的功能使:计算n门课程的平均分,计算结果作为函数值返回。 答案:
float fun(float *a,int n) {float ave=0.0; int i;
for(i=0;i<n;i++) ave+=a; ave/=n; return ave;}
83: 第83题 假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能使:将字符串尾部的*号全部删除,前面和中间的*号不删除。 答案:
void fun(char *a) {int i=0; char *p,*q; p=q=a; while(*p) p++; p--;
while(*p==‘*’) p--;
while(q<=p)
35