Дан числовой ряд и некоторое число ε. Найти сумму тех членов ряда, модуль которых больше или равен заданному ε - C (СИ)
Формулировка задачи:
Подскажите,пожалуйста,в чем ошибка?
Листинг программы
- #include<stdio.h>
- #include<math.h>
- #include<locale.h>
- main ()
- {setlocale(LC_ALL,"rus");
- double n=1.,sum1=0.,sum2=0.,eps;
- printf("Введите заданное число:");
- scanf("%f",&eps);
- do
- {sum1=((n*n+3)*(n*n+3))/(pow(n,5)+pow(log(n),4));
- sum2=sum2+sum1;
- n=n+1;}
- while (fabs(sum1)>=eps);
- if (n==2) printf("Членов ряда,модуль которых больше или равен заданному числу,не существует");
- else printf("Сумма членов ряда,модуль которых больше или равен заданному числу,равна:%f",sum2);}
Решение задачи: «Дан числовой ряд и некоторое число ε. Найти сумму тех членов ряда, модуль которых больше или равен заданному ε»
textual
Листинг программы
- #include<stdio.h>
- #include<math.h>
- #include<locale.h>
- main ()
- {setlocale(LC_ALL,"rus");
- double n=1.,sum1=0.,sum2=0.,eps;
- int x=1;
- printf("Введите заданное число:");
- scanf("%f",&eps);
- while (x)
- {sum1=((n*n+3)*(n*n+3))/(pow(n,5)+pow(log(n),4));
- if (fabs(sum1)>=eps)
- sum2=sum2+sum1;
- else continue;
- n++;}
- if (sum2==0) printf("Членов ряда,модуль которых больше или равен заданному числу,не существует");
- else printf("Сумма членов ряда,модуль которых больше или равен заданному числу,равна:%f",sum2);}
Объяснение кода листинга программы
В этом коде:
- #include
Включается файл стандартного ввода/вывода, который содержит функции для работы с консолью. - #include
Включается файл математических функций, который содержит функции для работы с числами. - #include
Включается файл локали, который позволяет работать с разными языками и культурами. - main() Функция main() является точкой входа в программу.
- setlocale(LC_ALL,
rus
) Устанавливается русская локаль для работы с числами и датами. - double n=1., sum1=0., sum2=0., eps; Объявляются переменные: n - счетчик для чисел в ряду, sum1 - сумма членов ряда, sum2 - сумма членов ряда, удовлетворяющих условию, eps - заданное число.
- int x=1; Объявляется переменная x - счетчик для проверки условия.
- printf(
Введите заданное число:
); Выводится запрос на ввод заданного числа. - scanf(
%f
, &eps); Считывается введенное число в переменную eps. - while (x) Начинается цикл, который будет выполняться до тех пор, пока условие истинно.
- *sum1=((nn+3)(nn+3))/(pow(n,5)+pow(log(n),4));** Вычисляется сумма члена ряда.
- if (fabs(sum1)>=eps) Проверяется условие, если модуль суммы больше или равен заданному числу.
- sum2=sum2+sum1; Если условие истинно, то сумма члена ряда добавляется к общей сумме.
- n++; Увеличивается значение переменной n.
- if (sum2==0) printf(
Членов ряда, модуль которых больше или равен заданному числу, не существует
); Если общая сумма равна нулю, выводится сообщение о том, что не существует членов ряда, удовлетворяющих условию. - else printf(
Сумма членов ряда, модуль которых больше или равен заданному числу, равна:%f
, sum2); Если общая сумма не равна нулю, выводится сообщение с результатом.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д