Médio C

Soma de números pares até N

Enunciado

Leia um número inteiro N e use um laço for para somar todos os números pares de 1 até N (inclusive). Imprima a soma. Use continue para pular os ímpares.

Requisitos

  • Usar for com continue.
  • Ler um inteiro N.
  • Imprimir apenas a soma final.

Código inicial

#include <stdio.h>

int main(void) {
    int n;
    scanf("%d", &n);
    int soma = 0;
    // use for e continue
    printf("%d\n", soma);
    return 0;
}

Saída esperada

30
Ver dica

Dentro do for, verifique se o número é ímpar com i % 2 != 0 e use continue para pular para a próxima iteração.

Mostrar solução
#include <stdio.h>

int main(void) {
    int n;
    scanf("%d", &n);
    int soma = 0;

    for (int i = 1; i <= n; i++) {
        if (i % 2 != 0) {
            continue;  // pula números ímpares
        }
        soma += i;
    }

    printf("%d\n", soma);
    return 0;
}

Passo a passo

  1. Incluímos <stdio.h> para entrada e saída.
  2. Declaramos n e lemos com scanf.
  3. Inicializamos soma com 0.
  4. O laço for percorre de 1 até n inclusive.
  5. Dentro do laço, if (i % 2 != 0) testa se i é ímpar.
  6. Se for ímpar, continue salta para a próxima iteração, ignorando soma += i.
  7. Se for par, soma += i acumula o valor.
  8. Após o laço, printf mostra a soma.

Por que funciona

O continue interrompe a iteração atual e vai para a próxima, permitindo pular os ímpares sem aninhar o código dentro de um else. O laço for garante que todos os números de 1 a n sejam visitados.

Erros comuns

  • Colocar continue fora de um laço: erro de compilação.
  • Usar break em vez de continue: o laço pararia no primeiro ímpar, somando apenas 0.
  • Esquecer de incrementar i no for: laço infinito (aqui o for já faz isso).

Outra forma de resolver

Sem continue, usando if (i % 2 == 0) { soma += i; }. É mais direto, mas o exercício pede continue.

Saída esperada

30