17分的精神小伙求助

P5717 【深基3.习8】三角形分类

我猜你第二个 `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


|