Вычисление суммы знакопеременного ряда - C (СИ)
Формулировка задачи:
Добрый день!
Есть последовательность такого типа: 1-1/2+1/3-1/4+1/5...
Как получить итоговое значение заданной последовательности?
Предел вводится пользователем.
Решение задачи: «Вычисление суммы знакопеременного ряда»
textual
Листинг программы
- #include <stdio.h>
- int main()
- {
- int i, limit;
- float total;
- total = 0.0F;
- printf("Enter limit(integer value >= 0): ");
- while(scanf("%d", &limit) != 1 || limit < 0)
- {
- printf("The limit has to be integer >= 0: ");
- while(getchar()!= '\n');
- }
- for(i = 1; i <= limit; ++i)
- {
- if(i%2)
- total += 1.0F/i;
- else
- total -= 1.0F/i;
- }
- printf("For limit == %d, total == %.4f\n", limit, total);
- getchar();
- return 0;
- }
Объяснение кода листинга программы
В этом коде выполняется вычисление суммы знакопеременного ряда. Вот список действий, которые выполняются в коде:
- Объявляются переменные:
i
- для хранения индекса текущего элемента рядаlimit
- для хранения ограничения на количество элементов рядаtotal
- для хранения суммы ряда
- Инициализируется переменная
total
значением 0.0F. - Выводится сообщение с просьбой ввести ограничение на количество элементов ряда.
- Пока пользователь вводит некорректное значение для
limit
(не целое число или меньше 0), выводится сообщение об ошибке и считывается следующее введенное значение. - Если пользователь вводит корректное значение для
limit
, начинается цикл, который выполняет вычисления для каждого элемента ряда. - В каждой итерации цикла проверяется, является ли текущий элемент четным числом.
- Если текущий элемент нечетный, к сумме
total
добавляется дробь 1/i. - Если текущий элемент четный, к сумме
total
вычитается дробь 1/i. - После завершения цикла выводится сообщение с результатом вычислений.
- Программа ожидает нажатия любой клавиши, чтобы пользователь мог увидеть результат.
- Программа завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д