输入3个正整数,按由大到小的顺序输出,要求使用指针实现
#include <stdio.h>
// 输入3个正整数,按由大到小的顺序输出,要求使用指针实现。
int main()
{
int num1, num2, num3;
printf("输入三个整数:\n");
scanf("%d%d%d", &num1, &num2, &num3);
// printf("%d,%d,%d\n", num1, num2, num3);
int *p1, *p2, *p3, temp;
p1 = &num1;
p2 = &num2;
p3 = &num3;
if (*p1 < *p2)
{
temp = *p1;
*p1 = *p2;
*p2 = temp;
}
if (*p2 < *p3)
{
temp = *p2;
*p2 = *p3;
*p3 = temp;
}
if (*p1 < *p2)
{
temp = *p1;
*p1 = *p2;
*p2 = temp;
}
printf("大到小:%d,%d,%d\n", num1, num2, num3);
return 0;
}
result:
输入三个整数:
45 23 3
大到小:45,23,3
排序思路:先给1 2 位置排好序,再给2 3 位置排好序,最后再给1 2 位置排序。