利用指针方法实现:输入三个整数abc按大小顺序输出
分享你一段GPT写的代码吧,重点还是原理,C语言的确要学好
#include <stdio.h>
void sort(int *p1, int *p2, int *p3);
int main()
{
int a, b, c;
printf("请输入三个整数:\n");
scanf("%d%d%d", &a, &b, &c);
sort(&a, &b, &c);
printf("按照从小到大排序的结果为:%d %d %d\n", a, b, c);
return 0;
}
void sort(int *p1, int *p2, int *p3)
{
int temp;
if(*p1 > *p2){ //通过指针比较a和b的大小
temp = *p1;
*p1 = *p2;
*p2 = temp;
}
if(*p1 > *p3){ //通过指针比较a和c的大小
temp = *p1;
*p1 = *p3;
*p3 = temp;
}
if(*p2 > *p3){ //通过指针比较b和c的大小
temp = *p2;
*p2 = *p3;
*p3 = temp;
}
}
```c
1、通过指针互换两个变量的值
通过指针实现a、b两个变量互换,如果降序排列,使a、b中a为大的值。
2、起泡法排序
输出a、b、c
如果不需要改变原始变量的值,只是通过指针实现三个数的排序,应该更简单些。