C语言 输入三个整数按从大到小的顺序输出。(用指针)
时间: 2025-06-09 21:00:18 浏览: 17
在C语言中,你可以通过使用指针来实现这个功能。首先,我们需要定义一个函数接受三个整数的指针作为参数,并在函数内部交换它们的值,然后按照指针指向的数据大小对它们进行排序。这里是一个简单的示例:
```c
#include <stdio.h>
// 定义一个函数来比较并交换两个整数
void swap(int* a, int* b) {
int temp = *a;
*a = *b;
*b = temp;
}
// 主函数,输入三个整数并按从大到小的顺序输出
int main() {
int arr[3];
// 获取用户输入
printf("请输入三个整数:");
for (int i = 0; i < 3; i++) {
scanf("%d", &arr[i]);
}
// 使用指针遍历数组并排序
int* ptr1 = &arr[0], *ptr2 = &arr[1], *ptr3 = &arr[2];
if (*ptr1 < *ptr2) {
if (*ptr2 > *ptr3) {
// 如果第一个是最小的,且第三个最大,直接交换1和2
swap(ptr1, ptr2);
} else if (*ptr1 > *ptr2 && *ptr1 < *ptr3) {
// 否则,如果第二个最小,将它与第三个交换,再与第一个交换
swap(ptr2, ptr3);
swap(ptr1, ptr2);
}
} else if (*ptr1 > *ptr2 && *ptr2 < *ptr3) {
// 如果第二个是最小的,将它与第三个交换
swap(ptr2, ptr3);
}
// 输出结果
for (int i = 0; i < 3; i++) {
printf("%d ", *(arr + i)); // 注意这里的*(arr + i),表示访问数组元素
}
printf("\n");
return 0;
}
阅读全文
相关推荐

















