用c语言写从键盘上输入三个整数a,b,c的值,要求用指针变量作为函数参数,通过函数调用实现对三个数按从大到小顺序排序。
时间: 2024-03-20 15:43:30 浏览: 23
好的,下面是实现代码:
```c
#include <stdio.h>
void swap(int* a, int* b) {
int temp = *a;
*a = *b;
*b = temp;
}
void sort(int* a, int* b, int* c) {
if (*a < *b) {
swap(a, b);
}
if (*a < *c) {
swap(a, c);
}
if (*b < *c) {
swap(b, c);
}
}
int main() {
int a, b, c;
printf("请输入三个整数:\n");
scanf("%d%d%d", &a, &b, &c);
int* pa = &a;
int* pb = &b;
int* pc = &c;
sort(pa, pb, pc);
printf("排序后的结果为:%d %d %d\n", *pa, *pb, *pc);
return 0;
}
```
和 C++ 的实现类似,这里也定义了 `swap` 和 `sort` 两个函数,其中 `swap` 函数用来交换两个整数的值,`sort` 函数则是通过比较大小,调用 `swap` 函数来实现对三个整数的排序。在 `main` 函数中,首先输入三个整数,然后分别将它们的地址赋给指针变量 `pa`、`pb`、`pc`,最后调用 `sort` 函数对它们进行排序,输出结果即为排序后的三个数。