fork download
  1. #include<stdio.h>
  2. #include<string.h>
  3. #define MAX_SIZE 9
  4.  
  5. void swap(char **str1, char **str2)
  6. {
  7. char *temp = *str1;
  8. *str1 = *str2;
  9. *str2 = temp;
  10. }
  11.  
  12. int main(int argc,char *argv[]){
  13. char *planets[9]={"Mercury","Venus","Earth","Mars","Jupiter","Saturn","Uranus","Neptune","Pluto"};
  14. int i, j, cmp, minMax;
  15.  
  16. //If we don't need an array sorted in accending order then it is obvious that
  17. //we need it to be sorted in decending order
  18. int a_ret= 1; //(strcmp(argv[2],"a") == 0);
  19.  
  20. for(i=0;i<MAX_SIZE;i++){
  21. minMax = i;
  22. for(j=i+1;j<MAX_SIZE;j++){
  23. cmp=strcmp(planets[j],planets[minMax]);
  24. if(((a_ret==0) && (cmp>0)) || ((a_ret==1) && (cmp<0))){
  25. minMax =j;
  26. }
  27. }
  28.  
  29. //Swap only if required
  30. if(i != minMax)
  31. swap(&planets[i], &planets[minMax]);
  32. }
  33.  
  34. //Print the sorted array
  35. for(i=0;i<MAX_SIZE;i++)
  36. printf("%s | ",planets[i]);
  37. return 0;
  38. }
Success #stdin #stdout 0s 4548KB
stdin
Standard input is empty
stdout
Earth | Jupiter | Mars | Mercury | Neptune | Pluto | Saturn | Uranus | Venus |