如何实现输入3个数并将这3个数按大小排列
时间: 2024-09-30 16:06:41 浏览: 7
要实现这个功能,你可以使用C语言中的标准库函数`scanf`读取用户输入的三个数,然后利用条件语句(如`if`、`else if`)进行比较并交换,从而得到排序后的数字。这里有一个简单的程序示例:
```c
#include <stdio.h>
// 比较两个整数并返回较大的那个
int max(int a, int b) {
return (a > b) ? a : b;
}
void sortThreeNumbers() {
int num1, num2, num3;
// 读取三个数
printf("Enter three numbers: ");
scanf("%d %d %d", &num1, &num2, &num3);
// 初始顺序
printf("Before sorting: num1 = %d, num2 = %d, num3 = %d\n", num1, num2, num3);
// 将最大值赋给num3
num3 = max(num1, max(num2, num3));
// 如果num1或num2还没被赋为最大值,则它们中的较大者就是第二大的
if (num1 != num3)
num2 = max(num1, num3);
else
num2 = num1; // 如果num1已经是最大值,则num2就是原num3
// 最小值则直接赋给num1
num1 = min(num1, num2); // 这里假设已定义min函数,其作用类似max但用于找出较小的数
// 打印排序后的结果
printf("After sorting: num1 = %d, num2 = %d, num3 = %d\n", num1, num2, num3);
}
int main() {
sortThreeNumbers();
return 0;
}
```
在这个程序中,我们首先定义了一个辅助函数`max`来找到两个数中的最大值,然后通过三重条件判断来完成排序。注意,这里没有提供`min`函数,你需要自己实现它,或者用`abs`函数结合比较来找到最小值。