В этом примере вы научитесь вычислять сумму натуральных чисел, введенных пользователем.
Чтобы понять этот пример, вы должны знать следующие темы программирования на C:
- C для цикла
- C while и do … while Цикл
Положительные числа 1, 2, 3… известны как натуральные числа. Сумма натуральных чисел до 10 равна:
сумма = 1 + 2 + 3 +… + 10
Сумма натуральных чисел в цикле
#include int main() ( int n, i, sum = 0; printf("Enter a positive integer: "); scanf("%d", &n); for (i = 1; i <= n; ++i) ( sum += i; ) printf("Sum = %d", sum); return 0; )
Вышеупомянутая программа принимает ввод от пользователя и сохраняет его в переменной n. Затем for
цикл используется для вычисления суммы до n.
Сумма натуральных чисел с использованием цикла while
#include int main() ( int n, i, sum = 0; printf("Enter a positive integer: "); scanf("%d", &n); i = 1; while (i <= n) ( sum += i; ++i; ) printf("Sum = %d", sum); return 0; )
Вывод
Введите положительное целое число: 100 Sum = 5050.
В обеих программах цикл повторяется n раз. И на каждой итерации значение i добавляется к сумме, а i увеличивается на 1
.
Хотя обе программы технически правильны, for
в этом случае лучше использовать цикл. Потому что количество итераций известно.
Вышеупомянутые программы не работают должным образом, если пользователь вводит отрицательное целое число. Вот небольшая модификация приведенной выше программы, в которой мы продолжаем принимать данные от пользователя, пока не будет введено положительное целое число.
Чтение ввода, пока не будет введено положительное целое число
#include int main() ( int n, i, sum = 0; do ( printf("Enter a positive integer: "); scanf("%d", &n); ) while (n <= 0); for (i = 1; i <= n; ++i) ( sum += i; ) printf("Sum = %d", sum); return 0; )
Посетите эту страницу, чтобы узнать, как найти сумму натуральных чисел с помощью рекурсии.