Hola gente del foro, estoy haciendo un ejercicio en el cuál tengo mandarle al programa 3 números y que me los muestre de mayor a menor en la pantalla. Hasta ahí todo bien, el problema es que si son números iguales tengo que mostrarlos en la misma linea y no tengo
idea de como hacerlo. A ver si alguien me puede ayudar:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
int main () {
float a,b,c;
printf ("\n Ingrese 3 numeros para que el programa los muestre de mayor a menor");
printf ("\n\n Ingrese el primer numero: ");
scanf ("%f", &a);
printf ("\n Ingrese el segundo numero: ");
scanf ("%f", &b);
printf ("\n Ingrese el tercer numero: ");
scanf ("%f", &c);
if (a>b && a>c) {
if (b>c) {
printf ("\n %.2f", a);
printf ("\n %.2f", b);
printf ("\n %.2f", c);
}
else {
printf ("\n %.2f", a);
printf ("\n %.2f", c);
printf ("\n %.2f", b);
}
}
if (b>a && b>c) {
if (a>c) {
printf ("\n %.2f", b);
printf ("\n %.2f", a);
printf ("\n %.2f", c);
}
else {
printf ("\n %.2f", b);
printf ("\n %.2f", c);
printf ("\n %.2f", a);
}
}
if (c>a && c>b) {
if (a>b) {
printf ("\n %.2f", c);
printf ("\n %.2f", a);
printf ("\n %.2f", b);
}
else {
printf ("\n %.2f", c);
printf ("\n %.2f", b);
printf ("\n %.2f", a);
}
}
getch ();
return 0;
}
En vez de hacer esas comparaciones tendrías que ordenar los números, ya sea en un array o en las mismas variables.
Y a partir de allí ir mostrándolos en pantalla y agregando un salto de línea si dos contiguos son diferentes u omitiéndolo si son iguales.