送分:编写递归函数,输出fibonacci数列的前N项
//编写递归函数,输出fibonacci数列的前N项
#include <iostream.h>
#include <iomanip.h>
long fibonacci(long);
void main(void)
{
int n;
cout<<"please input \"n\" ";
cin>>n;
cout<<endl;
if (fibonacci(n)==-1) cout<<"error message:n<0";
}
long fibonacci(long number)
{
if (number<0)
return -1; //return error message
else if (number==0)
return 0;
else if (number==1)
return 1;
else
{
long lVal;
lVal=fibonacci(number-2)+fibonacci(number-1);
cout<<lVal<<setw(4);
return lVal;
}
}
谁最先帮我改正确,20分全给谁。
还有,为什么最多只可以给20分?我本想给30分的。
问题点数:20、回复次数:2Top
1 楼dongyingtao(dongyingtao)回复于 2001-02-03 18:16:00 得分 20
#include <iostream.h>
#include <iomanip.h>
long fibonacci(long,int);
void main(void)
{
int n;
cout<<"please input \"n\" ";
cin>>n;
cout<<endl;
if (fibonacci(n,1)==-1) cout<<"error message:n<0";
}
long fibonacci(long number,int out)
{
if (number<0)
return -1; //return error message
else if (number==0)
return 0;
else if (number==1)
{
if(out)
cout << number << setw(5);
return 1;
}
else
{
long lVal;
if(out)
lVal=fibonacci(number-2,0)+fibonacci(number-1,1);
else
lVal=fibonacci(number-2,0)+fibonacci(number-1,0);
if(out)
cout<<lVal<<setw(5);
return lVal;
}
}Top
2 楼studycplusplus(studycplusplus)回复于 2001-02-03 18:29:00 得分 0
多谢了,以后有问题再来请教Top




