Составить программу для вычисления выражения с заданной точностью - 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;
}

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

  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
Похожие ответы