В типизированный файл занести числа Фибоначчи, не превосходящие заданного числа N - C (СИ)
Формулировка задачи:
Создайте файл целых чисел, занося в него числа Фибоначчи, не превосходящие заданного числа N.
Решение задачи: «В типизированный файл занести числа Фибоначчи, не превосходящие заданного числа N»
textual
Листинг программы
#include<stdio.h> #include<string.h> FILE* file; int fib(int N){ int a = 1, b = 1, S = 0, i; if(a<1) return 0; else{ for(i=1; i<=N; i++){ b = a; a = S; S = a+b; fprintf(file,"[%d] = %d\n", i, S); } } } int main() { int K; char *fname = "fibfile.txt"; file = fopen(fname, "wb"); scanf("%d", &K); fib(K); return 0; }
Объяснение кода листинга программы
- Включаются необходимые заголовочные файлы
- Объявляются переменные: файловый указатель file, целочисленные переменные a, b, S, i, а также строковая переменная fname
- Определяется функция fib, которая принимает целочисленный аргумент N и возвращает целочисленное значение
- Внутри функции fib инициализируются переменные a, b, S, i, а также осуществляется проверка на входные данные (необходимо для корректной работы функции)
- Запускается цикл for, который выполняется от 1 до N раз
- Внутри цикла происходит смена значений переменных a, b, S (счетчик, предыдущее число, текущее число соответственно)
- Каждое новое значение S записывается в файл, с указанием его индекса
- После выполнения цикла, функция возвращает 0
- В функции main создается файл с именем
fibfile.txt
для записи чисел Фибоначчи - Пользователю предлагается ввести число K, не превосходящее 100 (ограничение постановки задачи)
- Вызывается функция fib с аргументом K
- Файл закрывается
- Программа возвращает 0, заканчивая свою работу