Neste exemplo, você aprenderá a calcular a soma dos números naturais inseridos pelo usuário.
Para entender este exemplo, você deve ter conhecimento dos seguintes tópicos de programação C:
- C para Loop
- C while e do … while Loop
Os números positivos 1, 2, 3 … são conhecidos como números naturais. A soma dos números naturais até 10 é:
soma = 1 + 2 + 3 +… + 10
Soma de números naturais usando para Loop
#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; )
O programa acima recebe a entrada do usuário e a armazena na variável n. Então, o for
loop é usado para calcular a soma até n.
Soma de números naturais usando loop 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; )
Resultado
Insira um número inteiro positivo: 100 Soma = 5050
Em ambos os programas, o loop é iterado n várias vezes. E, em cada iteração, o valor de i é adicionado à soma e i é incrementado por 1
.
Embora ambos os programas sejam tecnicamente corretos, é melhor usar for
loop neste caso. É porque o número de iterações é conhecido.
Os programas acima não funcionam corretamente se o usuário inserir um número inteiro negativo. Aqui está uma pequena modificação no programa acima, onde continuamos recebendo a entrada do usuário até que um inteiro positivo seja inserido.
Ler entrada até que um número inteiro positivo seja inserido
#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; )
Visite esta página para aprender como encontrar a soma dos números naturais usando recursão.