Dados três valores
,
e
, construa um programa em
, que imprima os valores de forma descendente (do maior para o menor).
Passo 1
O enunciado pede um programa em linguagem C que, dados três valores
,
e
, imprima-os em ordem decrescente (do maior para o menor). O conteúdo principal envolve leitura de variáveis, uso de estruturas condicionais e impressão formatada.
Passo 2
Vamos declarar três variáveis para armazenar os valores de entrada e usar
scanf
para lê-las. Aqui usarei int
, mas poderia ser float
ou outro tipo numérico:int A, B, C;
printf("Digite tres valores inteiros: ");
scanf("%d %d %d", &A, &B, &C);
Passo 3
Para ordenar, primeiro identificamos o maior valor entre
,
e
. Podemos usar comparações aninhadas:
int maior;
if (A >= B && A >= C) {
maior = A;
} else if (B >= A && B >= C) {
maior = B;
} else {
maior = C;
}
Passo 4
Em seguida, identificamos o menor valor com lógica semelhante:
int menor;
if (A <= B && A <= C) {
menor = A;
} else if (B <= A && B <= C) {
menor = B;
} else {
menor = C;
}
Passo 5
O valor do meio é aquele que sobra da soma dos três:
Passo 6
Por fim, imprimimos na ordem decrescente: maior, meio, menor.
int meio = A + B + C - maior - menor;
printf("Ordem decrescente: %d %d %d
", maior, meio, menor);
Resposta
#include <stdio.h>
int main(void) {
int A, B, C;
printf("Digite tres valores inteiros: ");
scanf("%d %d %d", &A, &B, &C);
int maior, menor;
if (A >= B && A >= C) {
maior = A;
} else if (B >= A && B >= C) {
maior = B;
} else {
maior = C;
}
if (A <= B && A <= C) {
menor = A;
} else if (B <= A && B <= C) {
menor = B;
} else {
menor = C;
}
int meio = A + B + C - maior - menor;
printf("Ordem decrescente: %d %d %d
", maior, meio, menor);
return 0;
}