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.
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.”.
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;
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;
}