楼上的好象不是吧
Fibonacci数列好象是说如果f(0)==0;f(1)==1;当n>1时,f(n)=f(n-1)+f(n-2);下面是我的一个程序,作用是求出f(n);
要想打印出f(0)到f(n)的所有数,可以用一个循环反复调用f(n);
#include <ctype.h>
#include <stdio.h>
#include <conio.h>
int f(int n)
{
int result;
if(0==n)
result= 0;
else if(1==n)
result= 1;
else if(n>1)
{
result=f(n-1)+f(n-2);
n--;
}
return result;
}
/*我用下面的函数来判断用户的输入是不是数字*/
int isint(char *n)
{
int m=-1,i=0;
for(;n[i]!='\0';i++)
{
if(!isxdigit(n[i])) return -1;
else m=m*10+n[i]-'0';
}
return m;
}
void main()
{
int result=0;
char n[10];
int m=0;
IFERROR: printf("input an integer:");
gets(n);
m=isint(n);
if(m!=-1)
{
result=f(m);
printf("\nthe result is :%d\n",result);
}
else
{
printf("error input\n ");
goto IFERROR;
}
getch();
}
[此贴子已经被作者于2007-5-28 18:48:34编辑过]