c语言200例 045 使用指针实现整数排序

说明:本实例输入三个整数,将三个整数由大到小输出

思路:

1.可以用不同的多个函数,来实现此功能

2.定义swap函数,进行两个值的交换

void swap(int *p1, int *p2)
{
    int temp;
    temp =  *p1;
    *p1 =  *p2;
    *p2 = temp;
}

3.定义exchange函数,来实现三个值的交换

void exchange(int *pt1, int *pt2, int *pt3)
{
    if (*pt1 <  *pt2)
        swap(pt1, pt2);
    if (*pt1 <  *pt3)
        swap(pt1, pt3);
    if (*pt2 <  *pt3)
        swap(pt2, pt3);
}

运行结果如下

c语言200例 045 使用指针实现整数排序_第1张图片

完整代码如下

 

#include 
void swap(int *p1, int *p2)
{
    int temp;
    temp =  *p1;
    *p1 =  *p2;
    *p2 = temp;
}

void exchange(int *pt1, int *pt2, int *pt3)
{
    if (*pt1 <  *pt2)
        swap(pt1, pt2);
    if (*pt1 <  *pt3)
        swap(pt1, pt3);
    if (*pt2 <  *pt3)
        swap(pt2, pt3);
}

int main()
{
    int a, b, c,  *q1,  *q2,  *q3;
    puts("请输入三个你想要进行排列的数字:");
    scanf("%d %d %d", &a, &b, &c);
    q1 = &a;
    q2 = &b;
    q3 = &c;
    exchange(q1, q2, q3);
    printf("\n%d,%d,%d\n", a, b, c);
    return 0;
}

你可能感兴趣的:(c语言两百例,c语言,数据结构,c++)