酷代码 AI
菜单

c++代码改错:#include <iostream> using namespace std; int main() { int a, b, c; cin >> a >> b >> c; if ((a + b > c) && (a + c > b) && (b + c > a)) { cout << "三角形"; } if ((a == b) || (a == c) || (b == c)) { cout << "等腰三角形"; } if ((a == b) && (b == c) && (a == c)) { cout << "等边三角形"; } return 0; } 输入三个正整数a、b、c,表示三条边的长度。 如果这三条边可以构成等边三角形、则输出“等边三角形”。 如果无法构成等边三角形,但是可以构成等腰三角形,就输出“等腰三角形”。 如果可以构成既不等边,又不等腰的三角形,则输出“三角形”。 如果无法构成三角形则不需要输出

```cpp #include <iostream> using namespace std; int main() { int a, b, c; cin >> a >> b >> c; if ((a + b > c) && (a + c > b) && (b + c > a)) { if ((a == b) && (b == c) && (a == c)) { cout << "等边三角形"; } else if ((a == b) || (a == c) || (b == c)) { cout << "等腰三角形"; } else { cout << "三角形"; } } return 0; } ``` 上述代码修改了原代码的逻辑错误。原代码中三个`if`语句是并列关系,会导致在满足等边三角形条件时,会同时输出“等边三角形”“等腰三角形”“三角形”。修改后,使用嵌套`if - else`结构,先判断是否能构成三角形,若能构成再依次判断是否为等边三角形、等腰三角形,最后才是一般三角形,符合题目要求。 [2026-01-16 19:55:40 | AI问答 | 255点数解答]

服务商
相关提问
发财导航,免费问AI
实用工具查看更多