Вычислить значение, используя рекуррентную зависимость - C (СИ)
Формулировка задачи:
Нужно вычислить сумму с заданной точностью
Вот мой код
Считает не так,как хотелось бы. Что не так в коде?
#include <stdio.h> #include <stdlib.h> #define EPS 1e-5 int main(void) { unsigned int n =1; double chisl,znam,sum,x; printf("Enter x"); scanf("%lf",&x); chisl=1; znam=1; sum=0; do{ chisl*=(-1)*x; znam*=n; sum+=chisl/(znam+1); n++; } while(sum>EPS || sum<-EPS); printf("s=%lf \n",sum); system("pause"); return 0; }
Решение задачи: «Вычислить значение, используя рекуррентную зависимость»
textual
Листинг программы
int temp; do{ chisl*=(-1)*x; znam*=n; temp=chisl/(znam+1); sum+=temp; n++; } while(temp>EPS);
Объяснение кода листинга программы
- Объявлены три переменные:
chisl
,znam
иtemp
. - Переменная
chisl
умножается на -1 и на x. - Переменная
znam
умножается на n. - Вычисляется значение переменной
temp
путем деленияchisl
на суммуznam
и 1. - Значение переменной
temp
добавляется к переменнойsum
. - Увеличивается значение переменной
n
на 1. - Проверяется условие, что значение переменной
temp
больше заданного значения EPS. - Если условие выполняется, то цикл повторяется с шага 1.
- Если условие не выполняется, то цикл завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д