其中,`void sortThreeNumbers(int *a, int *b, int *c)` 函数用于实现三个数由大到小排列,输入参数为三个指向整型变量的指针。在函数内部,使用了冒泡排序的思想,首先比较a和b的大小关系,如需交换则交换;然后再比较b和c的大小关系,如需交换则交换;最后再比较a和b的大小关系,如需交换则交换。
在主函数中,首先调用`scanf`函数从控制台获取三个整型数的输入值,并将其分别存放在变量a、b、c中。然后将变量a、b、c的地址作参传递给`sortThreeNumbers`函数进行大小比较和交换,并最终输出由大到小排列后的结果。
代码部分:
#include <stdio.h>
void sortThreeNumbers(int *a, int *b, int *c) {
int temp;
if (*a < *b) {
temp = *a;
*a = *b;
*b = temp;
}
if (*b < *c) {
temp = *b;
*b = *c;
*c = temp;
}
if (*a < *b) {
temp = *a;
*a = *b;
*b = temp;
}
}
int main() {
int a, b, c;
puts("请输入三个数,以空格或回车分隔:");
scanf("%d%d%d", &a, &b, &c);
sortThreeNumbers(&a, &b, &c);
printf("由大到小排列:\n%d %d %d\n", a, b, c);
return 0;
}