При расчете суммы ряда выдает разные значения - C (СИ)

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

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

#include<stdio.h>
int fact(int n)
{
if (n<=1) return 1;
else return n*fact(n-1);
}
double f(int i)
{
    return pow(-2,i)/fact(i);
}
int main()
{
    int a, b, g;
    float exp;
    double pre, cur;
    double sum = 0;
    int i=1;
    printf("\tВас приветствует программа 'РЭП'\nВ данной программе реализовано несколько функций:\n- Вычисление факториала;\n- Нахождение суммы фиксированного ряда с возможнстью задания точности;\nДля того, чтобы вычислить факториал числа введите 1\nЕсли хотите найти сумму ряда введите любое значение\n");
    scanf("%d", &g);
    switch (g)
{
        case 1:
    printf("Введите число\n");
    printf("a = ");
    scanf("%d", &a);
    b=fact(a);
    printf("%d! = %d\n", a, b);
    break;
    default:
    printf("Введите точность вычислений:\nexp = ");
    scanf("%f", &exp);
    cur=f(i);
    sum+=cur;
    i++;
    do
{
    pre=cur;
    cur=f(i);
    sum+=cur;
    i++;
}
while (abs(cur-pre)>exp);
printf("Сумма ряда равняется:\nS=%.0f\n", sum);
}
printf("С вами был 'РЭП' версии 1.0\nУдачи!");
    return 0;
//РЭП - ряд это просто(нет)
}

Решение задачи: «При расчете суммы ряда выдает разные значения»

textual
Листинг программы
printf("Сумма ряда равняется:\nS=%.4lf\n", sum);

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

Код вычисляет сумму элементов ряда и выводит результат на экран. Список элементов и их значений, которые участвуют в вычислении суммы, может быть оформлен следующим образом:

  1. Элементы ряда: a1, a2, a3, ..., an
  2. Начальное значение суммы: sum = 0.0
  3. Вычисленное значение суммы: S После вычисления суммы, код выводит результат на экран с помощью функции printf. Формат вывода числа с плавающей точкой до 4 знаков после запятой указывается с помощью спецификатора формата %.4lf. Итоговый вывод на экран выглядит следующим образом: Сумма ряда равняется: S=0.0000 где 0.0000 - это значение переменной sum, которая инициализирована как 0.0 перед циклом вычислений.

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


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

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

15   голосов , оценка 4.2 из 5
Похожие ответы