c++输入三角形三边的数据 如果能够成三角形输出ok 否则输出error
时间: 2024-09-25 07:11:40 浏览: 38
C++实现判断三条边是否可以组成三角形
在C++中,你可以通过以下步骤检查用户输入的三角形三边是否能构成有效的三角形,并输出相应的结果:
1. 首先,你需要从用户那里获取三个边长,可以使用`cin`从标准输入读取。
```cpp
#include <iostream>
using namespace std;
int main() {
double a, b, c;
cout << "请输入三角形的第一条边长: ";
cin >> a;
cout << "请输入第二条边长: ";
cin >> b;
cout << "请输入第三条边长: ";
cin >> c;
```
2. 接着,判断这三个边长能否构成三角形。根据三角形的性质,任意两边之和大于第三边,所以我们可以编写条件判断:
```cpp
if (a + b > c && a + c > b && b + c > a) {
cout << "ok" << endl;
} else {
cout << "error" << endl;
}
```
3. 最后,记得处理异常情况,例如用户输入非数字或者负数。可以在输入边长时添加一些错误检查,如`cin.fail()`。
```cpp
if (cin.fail()) {
cout << "错误,输入无效,请输入正数。" << endl;
cin.clear();
cin.ignore(numeric_limits<streamsize>::max(), '\n'); // 清除输入流中的非法字符
return 0;
}
```
完整的程序示例:
```cpp
#include <iostream>
#include <limits> // 引入数值限制头文件
int main() {
double a, b, c;
cout << "请输入三角形的第一条边长: ";
cin >> a;
if (!cin || a <= 0) {
std::cout << "错误,输入无效,请输入正数。" << std::endl;
return 0;
}
cout << "请输入第二条边长: ";
cin >> b;
if (!cin || b <= 0) {
std::cout << "错误,输入无效,请输入正数。" << std::endl;
return 0;
}
cout << "请输入第三条边长: ";
cin >> c;
if (!cin || c <= 0) {
std::cout << "错误,输入无效,请输入正数。" << std::endl;
return 0;
}
if (a + b > c && a + c > b && b + c > a) {
std::cout << "ok" << std::endl;
} else {
std::cout << "error" << std::endl;
}
return 0;
}
```
阅读全文