Faça um programa que leia um vetor de 5 posições para números reais e, depois, um código inteiro. Se o código for zero, finalize o programa; se for 1, mostre o vetor na ordem direta; se for 2 , mostre o vetor na ordem inversa. Caso, o código for diferente de 1 e 2 escreva uma mensagem informando que o código é inválido.

Passo 1

O enunciado pede um programa que: 1) leia um vetor de 5 números reais; 2) leia um código inteiro; 3) decida o que fazer com o vetor conforme o código: parar, mostrar direto, mostrar inverso ou erro.

Passo 2

Para ler o vetor de 5 números reais, declare um array de tamanho 5 e use um laço for de 0 a 4 para chamar scanf com o especificador %lf (double).
Logo em seguida, leia o código inteiro com scanf usando %d.

Passo 3

Use uma sequência de estruturas condicionais if/else if/else para tratar o código lido:
No caso code == 0, basta terminar o programa imediatamente (por exemplo com return 0 em C).
No caso code == 1, percorra o vetor de 0 a 4 e imprima cada elemento na ordem direta.
No caso code == 2, percorra o vetor de 4 a 0 e imprima cada elemento na ordem inversa.
Se o código for diferente de 0, 1 ou 2, imprima uma mensagem “Código inválido.”.

Passo 4

Ao final de cada impressão de vetor, coloque um newline para ficar mais legível.

Resposta

#include <stdio.h>
int main() {
double v[5];
int code;
int i;
// Leitura do vetor de 5 números reais
for (i = 0; i < 5; i++) {
    scanf("%lf", &v[i]);
}

// Leitura do código inteiro
scanf("%d", &code);

// Decisão conforme o código
if (code == 0) {
    return 0; // finaliza o programa
} else if (code == 1) {
    // imprime vetor na ordem direta
    for (i = 0; i < 5; i++) {
        printf("%.2f ", v[i]);
    }
    printf("\n");
} else if (code == 2) {
    // imprime vetor na ordem inversa
    for (i = 4; i >= 0; i--) {
        printf("%.2f ", v[i]);
    }
    printf("\n");
} else {
    // código inválido
    printf("Código inválido.\n");
}

return 0;
}

Exercícios relacionados