Go4Expert

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 <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++


wdliming 7Nov2010 07:07

Re: sort
 
Thank you for your advices !!I get it!


All times are GMT +5.5. The time now is 22:56.