C++ 递归函数没有响应 #包括 使用名称空间std; mm类 { 私人: int k[1000]; int n; int i; INTA; int b; int f; 公众: 嗯() { a=0; b=1; f=0; i=0; for(int i=0;i
k[0]被设置为0。当你在main中调用se(n,0)时,它会计算1/k[0]+se(n-1,1),这是一个0的除法。mmmm。你说“不响应”到底是什么意思?数组“不工作”是什么意思也是?你试过调试它吗?你没有在mmi的构造函数中为n设置默认值。我已经将所有斐波那契值存储在一个数组k[1000]中,然后我尝试在这个“返回1/k[i]+se(n-1,i+1)”中使用该数组对于1+1/1+1/2+1/3+1/5+……系列。此外,您应该只使用C++ 递归函数没有响应 #包括 使用名称空间std; mm类 { 私人: int k[1000]; int n; int i; INTA; int b; int f; 公众: 嗯() { a=0; b=1; f=0; i=0; for(int i=0;i,c++,recursion,C++,Recursion,k[0]被设置为0。当你在main中调用se(n,0)时,它会计算1/k[0]+se(n-1,1),这是一个0的除法。mmmm。你说“不响应”到底是什么意思?数组“不工作”是什么意思也是?你试过调试它吗?你没有在mmi的构造函数中为n设置默认值。我已经将所有斐波那契值存储在一个数组k[1000]中,然后我尝试在这个“返回1/k[i]+se(n-1,i+1)”中使用该数组对于1+1/1+1/2+1/3+1/5+……系列。此外,您应该只使用向量来存储这些0。如果用户给出的数字高于1000,该怎么办?
向量来存储这些0。如果用户给出的数字高于1000,该怎么办?
# include <iostream>
using namespace std;
class mm
{
private:
int k[1000];
int n;
int i;
int a;
int b;
int f;
public:
mm ()
{
a=0;
b=1;
f=0;
i=0;
for(int i=0; i<n;i++)
k[i]=0;
};
~mm()
{
}
void fib(int n)
{
for (int i=0;i<n;i++)
{
if (i<=1)
f=i;
else
{
f=a+b;
a=b;
b=f;
}
k[i]=f;
}
for (int j=0;j<n;j++)
cout<<k[j]<<" ";
}
int se (int n, int i)
{
if (n==1)
return 1;
else
return 1/k[i] + se (n-1, i+1);
}
};
int main()
{
int n;
cout<<"Enter n:";
cin>>n;
mm p;
cout<<"fib: "<<endl;
p.fib(n);
cout<<endl;
cout<<"se: ";
cout<<p.se(n,0);
return 0;
}