c++输入三角形三边长保证能构成三角形输出面积
时间: 2023-09-23 14:06:45 浏览: 135
以下是一个简单的 C++ 程序,可以输入三角形的三边长并计算面积:
```c++
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
double a, b, c, s, area;
cout << "请输入三角形的三条边长:";
cin >> a >> b >> c;
if (a + b > c && a + c > b && b + c > a) {
s = (a + b + c) / 2;
area = sqrt(s * (s - a) * (s - b) * (s - c));
cout << "三角形的面积为:" << area << endl;
} else {
cout << "输入的三边长不能构成三角形!" << endl;
}
return 0;
}
```
程序首先提示用户输入三角形的三边长,然后判断这三条边长是否能构成三角形。如果可以构成三角形,就使用海伦公式计算三角形的面积并输出;否则,输出错误信息。
相关问题
c++输入三角形三边的数据 如果能够成三角形输出ok 否则输出error
在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;
}
```
c++输入三角形三边的数据 如果能够成三角形输出yes 否则输出error
在C++中,为了检查输入的三角形三边是否能构成有效的三角形,你需要让用户输入三个边长,然后通过计算判断是否满足任意两边之和大于第三边的条件。如果满足这个条件,则输出"yes",反之则输出"error"。以下是简单的步骤和伪代码示例:
1. 首先,定义一个函数`isTriangle(double a, double b, double c)`,接受三条边长作为参数。
```cpp
bool isTriangle(double a, double b, double c) {
if (a + b > c && a + c > b && b + c > a) {
return true;
}
else {
return false;
}
}
```
2. 接着,在主程序中获取用户输入,并传递给上述函数进行验证。
```cpp
#include <iostream>
using namespace std;
int main() {
double sideA, sideB, sideC;
cout << "请输入三角形的三条边长:" << endl;
cin >> sideA >> sideB >> sideC;
if (isTriangle(sideA, sideB, sideC)) {
cout << "yes" << endl;
} else {
cout << "error" << endl;
}
return 0;
}
```
阅读全文
相关推荐















