Сформировать массив из первых 20 чисел Фибоначчи - C (СИ)
Формулировка задачи:
Количество элементов массива ввести с клавиатуры, после чего выделить необходимый объем
динамической памяти для размещения массива.
Перед выходом из программы освободить занятую динамическую память.
Сформировать массив из первых 20 чисел Фибоначчи. Учесть, что первые два числа Фибоначчи
равны 1, а каждое следующее является суммой двух предыдущих. Сформированный массив вывести на экран.
Решение задачи: «Сформировать массив из первых 20 чисел Фибоначчи»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> int main() { int n; scanf("%d", &n); int *fib = (int *)malloc(sizeof(int)*n); int i; for(i = 0; i < n;i++) { fib[i] = (i > 1) ? fib[i-1] + fib[i-2] : 1; printf("%d\n", fib[i]); } free(fib); }
Объяснение кода листинга программы
В этом коде:
- Объявлена переменная
n
типаint
, которая инициализируется вводом с клавиатуры с помощью функцииscanf()
. - Выделен динамический массив
fib
типаint
с помощью функцииmalloc()
. Размер массиваn
передается в качестве аргумента в `sizeof(int)*. - В цикле
for
заполняется массивfib
значениями чисел Фибоначчи. Если индексi
больше 1, то значениеfib[i]
равно сумме значенийfib[i-1]
иfib[i-2]
. В противном случае, еслиi
равен 1, тоfib[i]
равно 1. - С помощью функции
printf()
выводятся значения массиваfib
на экран. - Выделенный массив
fib
освобождается с помощью функцииfree()
. Вот как это выглядит в виде списка: - Объявлена переменная
n
типаint
. - Выделен массив
fib
типаint
. - В цикле
for
заполняется массивfib
значениями чисел Фибоначчи. - С помощью функции
printf()
выводятся значения массиваfib
на экран. - Выделенный массив
fib
освобождается с помощью функцииfree()
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д