Ejecuta doble Quiero que me ordene tres numeros de mayor a menor. Me ejecuta bien, pero el problema me viene cuando dos de los tres numeros son iguales. no se porque cuando meto (3,3,1) me lo ordena de una sola vez (3,3,1) y en cambio cuando meto (1,3,3) me repite el orden, es decir, me lo hace saber dos veces. Alguien me puede decir la manera de que me lo diga de una sola vez?
#include<stdlib.h>
#include<stdio.h>
int main()
{
int n1,n2,n3 ;
printf("Dime el primer numero: ");
scanf("%d",&n1);
printf("Dime el segundo numero: ");
scanf("%d",&n2);
printf("Dime el tercer numero: ");
scanf("%d",&n3);
if(n1>=n2&&n2>=n3)
{
printf("Los numeros en orden descendente son: %d,%d,%d\n",n1,n2,n3);
}
else
{
if(n1>=n3&&n3>=n2)
{
printf("Los numero en orden descendente son: %d,%d,%d\n",n1,n3,n2);
}
if(n2>=n1&&n1>=n3)
{
printf("Los numero en orden descendente son: %d,%d,%d\n",n1,n2,n3);
}
if(n2>=n3&&n3>=n1)
{
printf("Los numero en orden descendente son: %d,%d,%d\n",n1,n2,n3);
}
if(n3>=n1&&n1>=n2)
{
printf("Los numero en orden descendente son: %d,%d,%d\n",n1,n2,n3);
}
if(n3>=n2&&n2>=n1)
{
printf("Los numeros en orden descendente son: %d,%d,%d\n",n1,n2,n3);
}
}
system("PAUSE");
}
Muchisimas gracias a tod@s los que me habeis ayudado hasta ahora. No me gusta rendirme a la primera, pero llevo 2 dias y nada y antes de qedarme con la duda, prefiero tragarme mi orgullo. Al fin y al cabo el programa esta bien, pero es mejorable en este aspecto |