Вычисление суммы знакопеременного ряда - 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. - После завершения цикла выводится сообщение с результатом вычислений.
- Программа ожидает нажатия любой клавиши, чтобы пользователь мог увидеть результат.
- Программа завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д