|
|
发表于 2023-10-21 22:41:26
|
显示全部楼层
你的代码看起来是正确的,它使用了海伦公式来计算三角形的面积。海伦公式是一个公式,用于计算已知三边长度的三角形的面积。公式如下:
S = sqrt[p * (p - a) * (p - b) * (p - c)]
其中,p是半周长,计算公式为:
p = (a + b + c) / 2
然而,你的代码可能在某些情况下会出现问题。例如,如果输入的三边长度不能构成一个三角形,那么sqrt函数中的参数可能会是负数,这将导致程序出错。在C++中,sqrt函数对负数的输入没有定义。
你可以添加一些错误检查来确保输入的三边长度可以构成一个三角形。以下是一个例子:
- #include <iostream>
- #include <cmath>
- using namespace std;
- int main()
- {
- float a, b, c, p, s;
- cin >> a >> b >> c;
- if (a + b > c && a + c > b && b + c > a) {
- p = (a + b + c) / 2;
- s = sqrt(p * (p - a) * (p - b) * (p - c));
- printf("%.2f", s);
- } else {
- cout << "The input lengths cannot form a triangle." << endl;
- }
- return 0;
- }
复制代码
这段代码首先检查输入的三边长度是否可以构成一个三角形,如果可以,就计算面积;如果不可以,就输出一个错误信息。
请注意,本回答来自GPT-4
如果问题已经解决,请设置最佳答案 |
|