Construir um programa em C que leia um número e imprima se ele é igual a 5 , a 200 , a 400, se está no intervalo entre 500 e 1000, inclusive, ou se ela está fora dos escopos anteriores.

Passo 1

O enunciado pede um programa em C que leia um número inteiro e indique qual das seguintes situações ocorre:
  1. É igual a 5.
  2. É igual a 200.
  3. É igual a 400.
  4. Está no intervalo entre 500 e 1000, inclusive.
  5. Não se enquadra em nenhuma das opções anteriores.
    O conteúdo aqui é tomada de decisão usando estruturas de seleção (if/else if/else).

Passo 2

Começamos declarando uma variável para armazenar o número lido. Em seguida, usamos a função scanf para ler do teclado um valor inteiro.

Passo 3

Usamos um encadeamento de if e else if para testar cada caso em ordem. Primeiro verificamos se o número é igual a 5:
if (num \(==5\)) {
 // trata caso igual a 5
}
Se não for igual a 5, passamos a verificar se é igual a 200 e, em seguida, se é igual a 400, cada um num else if distinto:
else if (num \(==200\)) {
 // trata caso igual a 200
}
else if (num \(==400\)) {
 // trata caso igual a 400
}
Caso não seja nenhum dos valores exatos, testamos se está no intervalo de 500 a 1000, inclusive, usando o operador lógico &&:
else if (num >\(=500\) && num <\(=1000\)) {
 // trata o intervalo [500,1000]
}

Passo 4

Se nenhuma das condições anteriores for satisfeita, cairemos no else final, imprimindo que o número está fora dos escopos definidos.

Resposta

#include <stdio.h>

int main(void) {
 int num;
 printf("Informe um numero inteiro: ");
 if (scanf("%d", &num) !\(=1\)) {
 printf("Erro na leitura
");
 return 1;
 }

 if (num \(==5\)) {
 printf("O numero e igual a 5.
");
 }
 else if (num \(==200\)) {
 printf("O numero e igual a 200.
");
 }
 else if (num \(==400\)) {
 printf("O numero e igual a 400.
");
 }
 else if (num >\(=500\) && num <\(=1000\)) {
 printf("O numero esta no intervalo entre 500 e 1000, inclusive.
");
 }
 else {
 printf("O numero esta fora dos escopos anteriores.
");
 }

 return 0;
}

Exercícios relacionados