酷代码 AI
菜单
服务商

C++实现根据三边长度判断三角形类型的代码及修正要点

以下是修正后的代码,同时会对原代码可能出现的问题进行分析。 ```cpp #include <iostream> using namespace std; int main() { int a, b, c; // 从标准输入读取三个正整数,分别赋值给a、b、c cin >> a >> b >> c; // 判断是否能构成三角形,需要满足任意两边之和大于第三边 if (a + b > c && a + c > b && b + c > a) { // 判断是否为等边三角形,即三条边都相等 if (a == b && b == c) { cout << "等边三角形" << endl; } // 判断是否为等腰三角形,即有两条边相等 else if (a == b || a == c || b == c) { cout << "等腰三角形" << endl; } // 既不是等边也不是等腰,就是普通三角形 else { cout << "三角形" << endl; } } return 0; } ``` 原代码可能存在的问题分析 1. 未判断是否能构成三角形:原代码可能没有对输入的三条边是否能构成三角形进行检查。根据三角形的性质,任意两边之和必须大于第三边才能构成三角形。 2. 逻辑判断顺序有误:在判断三角形类型时,应该先判断是否为等边三角形,再判断是否为等腰三角形,最后判断为普通三角形。 代码解释 1. 输入部分:使用`cin`从标准输入读取三个正整数`a`、`b`、`c`。 2. 三角形判断:通过`if (a + b > c && a + c > b && b + c > a)`判断输入的三条边是否能构成三角形。 3. 三角形类型判断: - 等边三角形:使用`if (a == b && b == c)`判断是否三边相等。 - 等腰三角形:使用`else if (a == b || a == c || b == c)`判断是否有两边相等。 - 普通三角形:如果都不满足上述条件,则是普通三角形。 [2026-02-11 22:34:43 | AI写代码神器 | 517点数解答]

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