哥仨低高排怎么编程

时间:2025-03-04 06:18:45 明星趣事

要编写一个程序来对三个整数(代表三兄弟的身高)进行排序,并输出它们两两之间用一个空格隔开,可以使用条件语句来比较三个数的大小。以下是一个简单的C++程序示例:

```cpp

include

using namespace std;

int main() {

int a, b, c;

cin >> a >> b >> c; // 输入三个整数

// 使用条件语句判断并排序

if (a < b && a < c) {

if (b < c) {

cout<< a << ' '<< b << ' ' << c; // a是最小的,b在中间,c是最大的

} else {

cout<< a << ' '<< c << ' ' << b; // a是最小的,c是中间的,b是最大的

}

} else if (b < a && b < c) {

if (a < c) {

cout<< b << ' '<< a << ' ' << c; // b是最小的,a在中间,c是最大的

} else {

cout<< b << ' '<< c << ' ' << a; // b是最小的,c是中间的,a是最大的

}

} else if (a < b) {

cout<< c << ' '<< a << ' ' << b; // a是中间的,b是最大的,c是最大的

} else {

cout<< c << ' '<< b << ' ' << a; // a是最大的,b是中间的,c是最小的

}

return 0;

}

```

代码解释:

输入部分

```cpp

int a, b, c;

cin >> a >> b >> c;

```

这行代码从标准输入读取三个整数,分别赋值给变量`a`、`b`和`c`。

排序部分

```cpp

if (a < b && a < c) {

if (b < c) {

cout<< a << ' '<< b << ' ' << c;

} else {

cout<< a << ' '<< c << ' ' << b;

}

} else if (b < a && b < c) {

if (a < c) {

cout<< b << ' '<< a << ' ' << c;

} else {

cout<< b << ' '<< c << ' ' << a;

}

} else if (a < b) {

cout<< c << ' '<< a << ' ' << b;

} else {

cout<< c << ' '<< b << ' ' << a;

}

```

第一个`if`语句判断`a`是否是最小的数。

如果`a`是最小的,再判断`b`是否比`c`小,如果是,则输出`a`、`b`、`c`;否则输出`a`、`c`、`b`。

第二个`else if`语句判断`b`是否是最小的数。

如果`b`是最小的,再判断`a`是否比`c`小,如果是,则输出`b`、`a`、`c`;否则输出`b`、`c`、`a`。

第三个`else if`语句判断`a`是否比`b`小,如果是,则输出`c`、`a`、`b`;否则输出`c`、`b`、`a`。

最后一个`else`语句处理`a`、`b`、`c`中最大的数在前面的情况,输出`c`、`b`、`a`。

建议:

这个程序假设输入的三个整数都是正数。如果需要处理负数或零的情况,可以进一步扩展条件语句。

可以使用更简洁的方法来排序三个数,例如使用`std::sort`函数,但这会牺牲一些可读性。