Найти сумму ряда - C (СИ) (71163)
Формулировка задачи:
Подскажите, пожалуйста, где я допустил ошибку?
Должна выводиться сумма ряда
,
учитывая, что задана только eps. Ответ должен быть равен 2,718.
Листинг программы
- #include <stdio.h>
- #include <conio.h>
- #include <math.h>
- int main()
- {
- int n;
- float s, temp, eps;
- printf("\nVvod ishodnih dannih:\n"); // ввод исходных данных
- printf("\nVvedite eps: \n");
- scanf("%f", &eps);
- temp=1; // первое слагаемое
- s=temp; // начальное значение суммы
- n=0;
- do
- {
- temp*=1.0/(n+1.0); //Очередное слагаемое
- s+=temp;
- printf("\n%d %.3f ", n, s);
- n++;
- }
- while(n<=eps);
- return(0);
- }
Решение задачи: «Найти сумму ряда»
textual
Листинг программы
- #include <stdio.h>
- #include <math.h>
- int main() {
- int n;
- float s, temp, eps;
- printf( "\nVvod ishodnih dannih:\n" ); // ввод исходных данных
- printf( "\nVvedite eps: \n" );
- scanf( "%f", &eps );
- temp = 1; // первое слагаемое
- s = temp; // начальное значение суммы
- n = 1;
- do {
- temp *= 1.0 / ( n ); //Очередное слагаемое
- s += temp;
- printf( "\n%d %.5f ", n, s );
- ++n;
- } while ( temp >= eps );
- return 0;
- }
Объяснение кода листинга программы
- Ввод исходных данных
- Ввод значения eps
- Инициализация переменных: - temp = 1 (первое слагаемое) - s = temp (начальное значение суммы)
- Инициализация переменной n = 1
- Начало цикла do-while:
- Расчет очередного слагаемого: temp *= 1.0 / ( n )
- Добавление очередного слагаемого к сумме: s += temp
- Вывод на экран значения n и суммы s, округленной до 5 знаков после запятой
- Увеличение значения n на 1
- Проверка условия завершения цикла: temp >= eps
- Если условие выполняется, цикл продолжается, иначе цикл завершается
- Возврат значения 0, что означает успешный конец работы программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д