酷代码 AI
菜单
服务商
DeepSeek字节豆包
更多选项

三角形类型判断代码的错误修正及解析

### 🐞问题分析 原代码存在逻辑错误。原代码会在满足不同条件时依次输出,而不是根据优先级只输出一个结果。需要按等边三角形、等腰三角形、普通三角形的优先级依次判断,满足一个条件就不再继续判断。 ### ✅修改后的代码 ```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; } ``` ### 💡代码解释 1. 首先判断输入的三条边是否能构成三角形,使用条件`(a + b > c) && (a + c > b) && (b + c > a)`。 2. 如果能构成三角形,再判断是否为等边三角形,使用条件`(a == b) && (b == c) && (a == c)`。 3. 如果不是等边三角形,判断是否为等腰三角形,使用条件`(a == b) || (a == c) || (b == c)`。 4. 如果既不是等边也不是等腰三角形,就是普通三角形。 ######[AI问答 | 419点数解答 | 2026-06-13 19:36:42]

相关提问
本站限时免费提问中
实用工具查看更多
Linux在线手册 [开发类]
Jquery在线手册 [开发类]
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]