Составить программу для вычисления выражения с заданной точностью - C (СИ) (74216)

Узнай цену своей работы

Формулировка задачи:

Помогите пожалуйста составить программу для вычисления е = 1 +1 / 1! +1 / 2! +1 / 3! + ... с заданной точностью Ε

Решение задачи: «Составить программу для вычисления выражения с заданной точностью»

textual
Листинг программы
  1. #include <stdio.h>
  2.  
  3. int factorial(int n) {
  4.     if ( n > 1 ) {
  5.     return factorial(n-1) * n;
  6.     }
  7.     if ( n < 0 ) {
  8.         return -2;
  9.     }
  10.     return 1;
  11. }
  12.  
  13. int main() {
  14.     int e;
  15.     float sum = 1.0;
  16.    
  17.     scanf("%d", &e);
  18.    
  19.     if ( e < 0 ) {
  20.         return 0;
  21.     }
  22.    
  23.     for ( int i = 1; i <= e; i++ ) {
  24.         sum += 1.0 / factorial(i);
  25.     }
  26.    
  27.     printf("%0.2f\n", sum);
  28.    
  29.     return 0;
  30. }

Объяснение кода листинга программы

  1. Включаем стандартную библиотеку ввода-вывода
  2. Определяем функцию factorial, которая вычисляет факториал числа
  3. Если число больше 1, то рекурсивно вызываем функцию factorial для вычисления факториала числа на единицу меньше и умножаем результат на само число
  4. Если число меньше или равно нулю, то возвращаем -2
  5. Если число больше 1, то возвращаем 1
  6. В функции main определяем переменную типа int для хранения числа e
  7. Определяем переменную sum для хранения суммы чисел
  8. Считываем число e с помощью функции scanf
  9. Если число e меньше 0, то выходим из программы
  10. Используем цикл for для перебора чисел от 1 до e
  11. Внутри цикла добавляем 1/факториал числа к переменной sum
  12. Выводим значение переменной sum с помощью функции printf
  13. Возвращаем 0, чтобы указать, что программа успешно завершилась

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4.364 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы