Go4Expert (http://www.go4expert.com/)
-   C (http://www.go4expert.com/forums/c/)
-   -   sort (http://www.go4expert.com/forums/sort-t23780/)

 wdliming 5Nov2010 16:09

sort

Complete the sorting of three numbers from small to big:
Code:

```#include <stdio.h> #include <stdlib.h> void Exchg(int *px, int *py) {     int tmp;     tmp = *px;     *px = *py;     *py = tmp;    } int main(int argc, char *argv[]) {     int x,y,z,t;     while(scanf("%d%d%d",&x,&y,&z))     {         if(x > y)             Exchg(&x,&y);      /*change x,y*/         if(x > z)             Exchg(&x,&z);      /*change x,z*/         if(y > z)             Exchg(&y,&z);      /*change z,y*/         printf("small to big: %d %d %d\n",x,y,z);     }        system("PAUSE");     return 0; }```
compile successfully in dev c++

 ihatec 7Nov2010 04:53

Re: sort

You don't use variable t, while looks like an infinite loop, swapping is ok. If you want to sort a few numbers, you may use array or some ohter data structure and use some sorting algorithm.
Quote:
 Originally Posted by wdliming (Post 74412) Complete the sorting of three numbers from small to big: Code: ```#include #include void Exchg(int *px, int *py) {     int tmp;     tmp = *px;     *px = *py;     *py = tmp;    } int main(int argc, char *argv[]) {     int x,y,z,t;     while(scanf("%d%d%d",&x,&y,&z))     {         if(x > y)             Exchg(&x,&y);      /*change x,y*/         if(x > z)             Exchg(&x,&z);      /*change x,z*/         if(y > z)             Exchg(&y,&z);      /*change z,y*/         printf("small to big: %d %d %d\n",x,y,z);     }        system("PAUSE");     return 0; }``` compile successfully in dev c++

 wdliming 7Nov2010 07:07

Re: sort