При расчете суммы ряда выдает разные значения - 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);
Объяснение кода листинга программы
Код вычисляет сумму элементов ряда и выводит результат на экран. Список элементов и их значений, которые участвуют в вычислении суммы, может быть оформлен следующим образом:
- Элементы ряда:
a1
,a2
,a3
, ...,an
- Начальное значение суммы:
sum = 0.0
- Вычисленное значение суммы:
S
После вычисления суммы, код выводит результат на экран с помощью функции printf. Формат вывода числа с плавающей точкой до 4 знаков после запятой указывается с помощью спецификатора формата %.4lf. Итоговый вывод на экран выглядит следующим образом: Сумма ряда равняется: S=0.0000 где 0.0000 - это значение переменной sum, которая инициализирована как 0.0 перед циклом вычислений.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д