C语言刷题(24):使用指针实现的输入三个整数,按由小到大的顺序输出

#include <stdio.h>
void main()
{
    void sort(int *p);
    int a[3];
    int i;
    printf("please input there integer:");
    scanf("%d %d %d",a,a+1,a+2);

    sort(a);
    printf("Sorted:");
      for( i=0;i<3;i++)
    {
        printf("%d ",*(a+i));
    }
}
void sort(int *p)
{
    void swap(int *p,int *q);
    if(*p>*(p+1))
    {
        swap(p,(p+1));
    }
    if(*p>*(p+2))
    {
        swap(p,(p+2));
    }
    if(*(p+1)>*(p+2))
    {
         swap((p+1),(p+2));
    }
}
void swap(int *p,int *q)
{
        int t;
        t = *q;
        *q = *p;
        *p = t;

}
结果:
please input there integer:5 6 1
Sorted:1 5 6
发布了45 篇原创文章 · 获赞 7 · 访问量 1602

猜你喜欢

转载自blog.csdn.net/qq_38173631/article/details/104014287