Составить программу для вычисления выражения с заданной точностью - C (СИ) (74216)
Формулировка задачи:
Помогите пожалуйста составить программу для вычисления е = 1 +1 / 1! +1 / 2! +1 / 3! + ... с заданной точностью Ε
Решение задачи: «Составить программу для вычисления выражения с заданной точностью»
textual
Листинг программы
#include <stdio.h> int factorial(int n) { if ( n > 1 ) { return factorial(n-1) * n; } if ( n < 0 ) { return -2; } return 1; } int main() { int e; float sum = 1.0; scanf("%d", &e); if ( e < 0 ) { return 0; } for ( int i = 1; i <= e; i++ ) { sum += 1.0 / factorial(i); } printf("%0.2f\n", sum); return 0; }
Объяснение кода листинга программы
- Включаем стандартную библиотеку ввода-вывода
- Определяем функцию
factorial
, которая вычисляет факториал числа - Если число больше 1, то рекурсивно вызываем функцию
factorial
для вычисления факториала числа на единицу меньше и умножаем результат на само число - Если число меньше или равно нулю, то возвращаем -2
- Если число больше 1, то возвращаем 1
- В функции
main
определяем переменную типаint
для хранения числа e - Определяем переменную
sum
для хранения суммы чисел - Считываем число e с помощью функции
scanf
- Если число e меньше 0, то выходим из программы
- Используем цикл
for
для перебора чисел от 1 до e - Внутри цикла добавляем 1/факториал числа к переменной
sum
- Выводим значение переменной
sum
с помощью функцииprintf
- Возвращаем 0, чтобы указать, что программа успешно завершилась
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д