Faça um programa que leia um número inteiro positivo N e imprima todos os números naturais de 0 até N em ordem decrescente.

Passo 1

O enunciado pede um programa que lê um inteiro positivo N e imprime todos os números naturais de 0 até N em ordem decrescente. O conteúdo principal aqui é estrutura de repetição (loop), mais especificamente um loop contado que vai de N até 0. Vamos usar um loop for decrescente, que é ideal quando sabemos de antemão o início, o fim e o passo.

Passo 2

Em C, primeiro a gente lê o valor de N usando scanf. Como o enunciado garante que N é inteiro e positivo, não precisamos validar sinais. Depois, criamos um loop for que inicializa o contador i com N, testa i >= 0 e decrementa i a cada iteração. Dentro do loop, imprimimos o valor de i seguido de uma quebra de linha. Por fim, encerramos o programa retornando 0 para o sistema operacional.

Passo 3

Esse algoritmo tem complexidade O(N) e memória O(1), já que só usamos uma variável extra para o contador.

Resposta

#include <stdio.h>
int main() {
int N;
scanf("%d", &N);
for (int i = N; i >= 0; i–) {
printf("%d\n", i);
}
return 0;
}

Exercícios relacionados