Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Simpler way of sorting three numbers

Tags:

Is there a simpler and better way to solve this problem because

  1. I used too many variables.
  2. I used so many if else statements
  3. I did this using the brute force method

Write a program that receives three integers as input and outputs the numbers in increasing order.
Do not use loop / array.

#include <stdio.h>
main(){
   int no1;
   int no2;
   int no3;
   int sto;
   int hi;
   int lo;

   printf("Enter No. 1: ");
   scanf("%d", &no1);
   printf("Enter No. 2: ");
   scanf("%d", &no2);         
   printf("Enter No. 3: ");
   scanf("%d", &no3);

   if (no1>no2) {   
      sto=no1;    
      lo=no2;   
   } else {
      sto=no2;  
      lo=no1;  
   } 
   if (sto>no3) { 
      hi=sto;    
      if(lo>no3){         
         sto=lo;                
         lo=no3;
      }else {
         sto=no3;      
      }         
   }else hi=no3; 

   printf("LOWEST %d\n", lo);
   printf("MIDDLE %d\n", sto);
   printf("HIGHEST %d\n", hi);  

   getch(); 
}    
like image 842
newbie Avatar asked Dec 06 '10 15:12

newbie


People also ask

How do I sort 3 numbers in Javascript?

function sort (a, b, c) { if(a < b && b < c) { document. write(a, b , c); } else if (a < b && c < b) { document. write(a, c, b); } else if (b < a && a < c) { document. write(b, a, c); } else if(b < a && c < a) { document.


1 Answers

if (a > c)
   swap(a, c);

if (a > b)
   swap(a, b);

//Now the smallest element is the 1st one. Just check the 2nd and 3rd

if (b > c)
   swap(b, c);

Note: Swap changes the values of two variables.

like image 144
Petar Minchev Avatar answered Oct 03 '22 02:10

Petar Minchev