n 没初始化,你要放到输入n 的下面,再对 指针 a 进行内存分配。
//数据结构
typedef struct monster{
int id; //编号
char *name; //名称
//指向下一结点的指针
struct monster *pNext;
}Monster;
光看结构是看不出什么来的,所以还是要大家来实战一下来加强印象:
//示例
typedef struct Monster{
int id;
char *name;
struct Monter *next; //指向下个结点的指针
}Monster;
void test()
{
Monster monster1 = {1, "乔布斯"};
Monster monster2 = {2, "比尔·盖茨"};
Monster monster3 = {3, "巴菲特"};
//monster1 就是头指针
monster1.next = &monster2;
monster2.next = &monster3;
monster3.next = NULL;
}
解决该问题的步骤如下:
length = int(input("请输入数组长度:"))
fib_array = [0] * length
def fibonacci(length):
fib_array = [0] * length
fib_array[0] = 0
fib_array[1] = 1
for i in range(2, length):
fib_array[i] = fib_array[i-1] + fib_array[i-2]
return fib_array
result = fibonacci(length)
print(result)
完整示例代码如下:
def fibonacci(length):
fib_array = [0] * length
fib_array[0] = 0
fib_array[1] = 1
for i in range(2, length):
fib_array[i] = fib_array[i-1] + fib_array[i-2]
return fib_array
length = int(input("请输入数组长度:"))
result = fibonacci(length)
print(result)
使用这个方法,你就可以根据用户输入的数组长度来初始化数组,并计算斐波那契数列了。