例题:请编写函数fun,它的功能是:求Fibonacci数列中大于a(a>3)的最小的一个数,结果由函数返回。其中Fibonacci数列F(n)的定义为:
F(0)=0,f(1)=1
F(n)=F(m-1)+F(m-2)
例如,当a=500时,函数值为610。
请勿改动主函数main与其它函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
代码如下:
#include<conio.h>
#include<math.h>
#include<stdio.h>
int fun(int a)
{
int x=1,y=1,z=0,i;
for(i=4;i<=a;i++)
{
if(z<a)
{
z=x+y;
x=y;
y=z;
}
else
break;
}
return z;
}
main()
{
int m;
FILE*out;
m=500;
printf("m=%d,f=%d\n",m,fun(m));
out=fopen("outfile.dat","w");
for(m=500;m<3000;m+=500)
fprintf(out,"%d\n",fun(m));
fclose(out);
}
输出运行窗口如下:
本周其他练习
C语言编程>第八周 ① 请编写一个函数void fun(char*t,int p[]),统计在t字符串中“a”到“z”26个字母各自出现的次数,并依次放在p所指数组中。
C语言编程>第八周 ② 编写函数fun,函数的功能是:根据以下公式计算,计算结果作为函数值返回。
C语言编程>第八周 ④ 请编写一个函数fun,它的功能是:计算并输出给定整数n的所有因子(不包括1与自身)之和。规定n的值不大于1000。
C语言编程>第八周 ⑥ 编写函数fun,它的功能是计算并输出下列级数数和:
C语言编程>第八周 ⑦ 编写函数fun,它的功能是:根据以下公式求的值,结果由函数值带回。m与n为两个正整数且要求m>n。
C语言编程>第八周 ⑧ 编写程序,实现矩阵(3行3列)的转置(即行列互换)。
越努力越幸运!
加油,奥力给!!!