Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/09/2009, 12:37
ost
Invitado
 
Mensajes: n/a
Puntos:
no me ordena bien 3 numeros

Hola,

estoy dándole vueltas y vueltas al ejercicio y no se el motivo por el cual no me ordena bien los números:

Escribir un programa que lea tres números enteros
en tres variables n1, n2, n3 reasigne los valores de las variables para
que n1 sea la más pequeña, y n3 la más grande Finalmente que escriba los
tres valores ordenados.

Código:
#include <stdio.h>
#include <conio.h> //getch

main()
{
      int n1, n2, n3; 
      printf("introduce numero n1 \n"); 
      scanf("%d",&n1); 
      printf("introduce numero n2 \n"); 
      scanf("%d",&n2);
      printf("introduce numero n3 \n"); 
      scanf("%d",&n3);
      
      if(n1>n2){
         if(n2>n3){
                                        n1=n3;n2=n2;n3=n1;//n1>n2 n2>n3
         }else if(n1>n3){
                                        n1=n2;n2=n3;n3=n1;//n1>n2 n2<n3 n1>n3
         }else{
                                        n1=n2;n2=n1;n3=n3;//n1>n2 n2<n3 n1<n3
         }              
      }else if(n1>n3){
                                        n1=n3;n2=n1;n2=n2;//n1<n2 n1>n3
         }else if(n2>n3){
                                        n1=n1;n2=n3;n3=n2;//n1<n2 n1<n3  n2>n3
         }else{
                                        n1=n1;n2=n2;n3=n3;//n1<n2 n1<n3  n2<n3
         }
      printf("El orden es el siguiente: \n\t %d \t %d \t %d", n1,n2,n3 ); 
      getch();
}
Muchas gracias.
ost.