Arrays 使用数组的斐波那契数列(只要用户输入)

Arrays 使用数组的斐波那契数列(只要用户输入),arrays,function,for-loop,Arrays,Function,For Loop,我目前是编程学习的初学者,我的教授已经指示我按照下面的说明做一个程序。然而,当我编写我的程序时,我做了以下操作,从用户那里获取关于数组长度的输入。然而,因为我的数组大小没有定义,这给了我一个错误,但是教授没有指示我指定一个大小,所以我真的很困惑:S 我的尝试: void displayarray(int n){ int i; int aray[]={0,1}; for (i=0;i<n;i++){ printf("%i", aray[i]); } printf("\n");

我目前是编程学习的初学者,我的教授已经指示我按照下面的说明做一个程序。然而,当我编写我的程序时,我做了以下操作,从用户那里获取关于数组长度的输入。然而,因为我的数组大小没有定义,这给了我一个错误,但是教授没有指示我指定一个大小,所以我真的很困惑:S

我的尝试:

void displayarray(int n){

int i;
int aray[]={0,1};

for (i=0;i<n;i++){
    printf("%i", aray[i]);
}
printf("\n");
}

分配的任务:

void displayarray(int n){

int i;
int aray[]={0,1};

for (i=0;i<n;i++){
    printf("%i", aray[i]);
}
printf("\n");
斐波那契数是一个著名的数列。它们从0和1开始,然后序列中的下一个值是前两个值的总和

01 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 (fib[8]是21——记住从0开始计数!)

编写一个计算斐波那契序列的程序

 int f[3];

 f[0] = 0;
 f[1] = 1;
 f[2] = f[0] + f[1]
-生成一个接受n的函数,n是要生成的整数数

-声明一个数组,仅用前两个斐波那契数初始化它,然后计算其余的

-显示n=10和n=20的顺序

-尝试为n=50生成输出。如果在这一步中出现任何问题,您不需要修复它。只需添加一条注释,解释发生了什么以及为什么

您可以使用“malloc()”或“calloc()”函数来分配给定大小的数组

你需要像这样申报

int *array;
array = malloc(n, sizeof(int));

// do something
free(array)

您可以仅使用3长度数组来计算所有斐波那契序列。用斐波那契序列的前两个数字(0和1)初始化数组的前两个元素,然后用这两个值计算序列的第三个数字

 int f[3];

 f[0] = 0;
 f[1] = 1;
 f[2] = f[0] + f[1]

试着找出在for循环中如何计算任意整数n的斐波那契数。

可能的重复是我不希望它是一个3位数的序列,我希望它和用户扫描的“n”一样大如果我理解正确,你应该这样做:你有f[0]和f[1],使用此函数计算f[2]并打印结果,将值存储在变量中或其他任何形式。现在有了f[1]和f[2]的值,因此可以计算斐波那契序列的下一个数,并再次打印结果。根据需要多次重复该过程。您必须遍历for循环n-2次(2是因为您已经知道序列的前两个数字)。