用C++写编写一个程序,输入3个非0 整数,判定这三个数是否可以形成一个三角形,如果能,进一步判定是否是等腰三角形。
时间: 2024-10-19 11:16:57 浏览: 34
判定三个数所组成的三角形形状
当你需要判断三个整数能否构成一个三角形并确定其是否是等腰三角形时,你可以使用C++编写如下的程序:
```cpp
#include <iostream>
#include <algorithm>
bool isTriangle(int a, int b, int c) {
// 检查三个数字是否满足任意两边之和大于第三边的条件
if (a + b > c && a + c > b && b + c > a)
return true;
else
return false;
}
bool isEquilateral(int a, int b, int c) {
// 等边三角形所有边相等
return a == b && b == c;
}
bool isIsosceles(int a, int b, int c) {
// 检查是否有两个边相等,即等腰三角形
std::sort(&a, &c + 1);
return a == b || b == c;
}
int main() {
int num1, num2, num3;
std::cout << "请输入三个非零整数:";
std::cin >> num1 >> num2 >> num3;
bool canFormTriangle = isTriangle(num1, num2, num3);
if (canFormTriangle) {
std::cout << "这组数可以形成一个三角形。\n";
if (isEquilateral(num1, num2, num3))
std::cout << "并且是一个等边三角形。\n";
else if (isIsosceles(num1, num2, num3))
std::cout << "并且是一个等腰三角形。\n";
else
std::cout << "这是一个普通三角形。\n";
} else {
std::cout << "这组数不能形成一个三角形。\n";
}
return 0;
}
```
在这个程序中,首先检查三个数是否能构成三角形,然后分别判断是否是等腰或等边三角形。
阅读全文