我猜你第二个 `if` 想判断锐角三角形,但这种做法并不正确。
比如,我构造数据 `3 4 6` 显然它不是锐角三角形(其实是钝角),但满足 $4^2 + 6^2 > 3^2$ ,你的程序会认为它是锐角三角形。
其中一个正确的做法是输入的 `a, b, c` 排序,没必要专门写排序算法,如下即可(想一想,为什么?):
```cpp
if (a > b) swap(a, b);
if (b > c) swap(b, c);
if (a > b) swap(a, b);
```
然后再写判断,这样你的 $3$ 个条件可以简化成一个了
by xiaoni0v0 @ 2023-12-03 13:16:56
@[xiaoni0v0](/user/852826)
swap是啥意思?我是一个刚入门的,还没学到。
by zhanghr12 @ 2023-12-03 20:38:14
@[zhanghr12](/user/1189798) e,你要是用翻译软件也不会连这个都不知道的(
by Jacky_luogu @ 2023-12-04 21:29:14
@[zhanghr12](/user/1189798) 交换两个变量用的,可以有多种实现方式:
1. 中间变量法:
```cpp
int temp;
temp = a, a = b, b = temp;
```
2. 定义一个 `swap` 函数,注意要传引用
```cpp
void swap(int &a, int &b) {
int temp;
temp = a, a = b, b = temp; // 其实也是中间变量哈
```
3. ~~我想炫技~~ 使用逆天方法
```cpp
a^=b^=a^=b;
```
4. 指针等等,但我猜你没学
by xiaoni0v0 @ 2023-12-09 19:19:30