Problem B: 指针:调用自定义交换函数,完成5个浮点数从小到大排列

#include<stdio.h>
int swap(float *p1,float *p2)
{
    float flag;
    if(*p1>*p2)
    {
        flag=*p1;
        *p1=*p2;
        *p2=flag;
    }
}

int main()
{
    float a,b,c,d,e;
    while(scanf("%f%f%f%f%f",&a,&b,&c,&d,&e)!=EOF)
    {
        swap(&a,&b);
        swap(&a,&c);
        swap(&a,&d);
        swap(&a,&e);
        swap(&b,&c);
        swap(&b,&d);
        swap(&b,&e);
        swap(&c,&d);
        swap(&c,&e);
        swap(&d,&e);
        printf("%.1f %.1f %.1f %.1f %.1f\n",a,b,c,d,e);
    }
    return 0;
} 

这个方法比较笨,应该有快捷的方法

posted @ 2018-11-28 21:39  MichaelCecil  阅读(2194)  评论(0编辑  收藏  举报