Определить сумму числового ряда, введя с клавиатуры точность eps - C (СИ)
Формулировка задачи:
Определить сумму числового ряда,введя с клавиатуры точность eps
S=1/1+1/2+1/4+1/8.......
p.s Цикл for использовать нельзя
Решение задачи: «Определить сумму числового ряда, введя с клавиатуры точность eps»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> int main( void ) { double eps; printf( "Введите точность вычисления суммы ряда " ); scanf( "%lf", &eps ); double curr = 1; double sum = 0; int n = 1; while ( curr > eps ){ sum += curr; n *= 2; curr = 1.0 / n; } printf( "%s%f\n", "Сумма ряда = ", sum ); return EXIT_SUCCESS; }
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы
#include
#include - Определяем функцию main() int main( void )
- Объявляем переменную типа double для хранения точности вычислений double eps;
- Выводим сообщение с просьбой ввести точность вычислений
printf(
Введите точность вычисления суммы ряда
); - Считываем значение точности с клавиатуры
scanf(
%lf
, &eps ); - Инициализируем переменные для хранения текущего члена ряда и его суммы double curr = 1; double sum = 0; int n = 1;
- Запускаем цикл, который будет выполняться до тех пор, пока текущий член ряда больше заданной точности while ( curr > eps ){
- Обновляем сумму ряда, добавляя к ней текущий член sum += curr;
- Умножаем номер члена на 2 и обновляем значение текущего члена *n = 2; curr = 1.0 / n;**
- Выводим сообщение с результатом вычислений
**printf(
%s%f\n
,Сумма ряда =
, sum ); - Завершаем работу программы return EXIT_SUCCESS;
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д