内容:
数组和递归综合运用设计程序
要求:
1.完成20项的斐波那契数列各项值的技术和输出。
2.使用数组存储,主调函数中定义数组,并将元素全部初始化为0。
3.使用递归函数实现各项值的计算。
4.递归函数的实参和形数为指针,函数不返回值,通过参数传递主调函数中定义的数据,在递归函数中将各项值一次存入数组中。
5.在主调函数中输出各项值。
//问题就是不会用递归函数做到,😭😭😭
#include
using namespace std;
void Fibonacci(int*);
int main()
{
int a[20];
int i;
int* p = a;
for (i = 0; i < 20; i++)
{
a[i] = 0;
}
Fibonacci(p);
cout << "前20项的斐波那契数列为:" << endl;
for (i = 0; i < 20; i++)
{
cout << a[i] << " ";
}
return 0;
}
void Fibonacci(int* x)
{
int i;
for (i = 0; i < 20; i++)
{
if (i == 0 || i == 1)
{
*(x + 0) = 1;
*(x + 1) = 1;
}
else
{
*(x + i) = * (x + i - 1) + *(x + i - 2);
}
}
}
void Fibonacci(int *x, int n)
{
if (n == 1)
{
x[n] = 1;
x[n - 1] = 1;
return;
}
Fibonacci(x, n - 1);
x[n] = x[n - 1] + x[n - 2];
}
int main()
{
int a[20] = {0};
int i;
// int *p = a;
// for (i = 0; i < 20; i++)
// {
// a[i] = 0;
// }
Fibonacci(a, 20); // Fibonacci(p);
cout << "前20项的斐波那契数列为:" << endl;
for (i = 0; i < 20; i++)
{
cout << a[i] << " ";
}
return 0;
}