C语言输入三个数a,b,c,要求不管怎么输入,输出从大到小,使用函数封装和指针来实现
时间: 2024-05-01 22:18:29 浏览: 88
c语言输入3个数,从大到小排列
很高兴回答您的问题!以下是具体实现方法:
```c
#include <stdio.h>
void sort_desc(int *a, int *b, int *c) {
int tmp;
if (*a < *b) {
tmp = *a;
*a = *b;
*b = tmp;
}
if (*b < *c) {
tmp = *b;
*b = *c;
*c = tmp;
}
if (*a < *b) {
tmp = *a;
*a = *b;
*b = tmp;
}
}
int main() {
int a, b, c;
printf("请输入三个数字:\n");
scanf("%d%d%d", &a, &b, &c);
// 调用排序函数
sort_desc(&a, &b, &c);
printf("从大到小为:%d %d %d\n", a, b, c);
return 0;
}
```
这个程序使用函数封装和指针来实现输入三个数,输出从大到小。我们定义了一个 `sort_desc` 函数,它的参数是三个指针,用来表示输入的三个数。函数内部使用冒泡排序的思想,把三个数从大到小排序。最后,我们在 `main` 函数中调用 `sort_desc` 函数,把输入的三个数字传递进去,并且使用指针来修改它们的值,使得输出的结果是从大到小排列的。
相信这个程序能够帮助
阅读全文