用C++给出三角形的三条边 a、b、c,求三角形的面积。,设置异常处理,对不符合三角形条件的输出警告信息, 不予计算。
时间: 2024-05-08 16:19:04 浏览: 71
好的,我可以帮你解答这个问题。根据海伦公式,可以通过三角形的三条边 a、b、c 求得三角形的面积。具体公式为:面积 = sqrt(p * (p - a) * (p - b) * (p - c)),其中 p = (a + b + c) / 2。
在编写程序时,需要先进行异常处理,判断三条边是否符合三角形的条件。三角形的条件为:任意两边的和大于第三边。如果三条边不符合这个条件,则输出警告信息,不予计算。如果三条边符合条件,则按照上述公式进行计算并输出结果。
以下是一个简单的 C 语言程序示例:
```
#include <stdio.h>
#include <math.h>
int main() {
float a, b, c, s, area;
printf("请输入三角形的三条边a、b、c,以空格分隔:");
scanf("%f %f %f", &a, &b, &c);
if (a + b <= c || a + c <= b || b + c <= a) {
printf("警告:三条边不符合三角形条件!");
return 0;
}
s = (a + b + c) / 2;
area = sqrt(s * (s - a) * (s - b) * (s - c));
printf("该三角形的面积为:%f", area);
return 0;
}
```
请注意,此示例程序仅供参考,您可以根据实际需要进行修改和调整。
相关问题
用c++写输入三角形三条边a,b,c的值,计算三角形的面积
下面是使用C语言计算三角形面积的代码,其中输入三角形三条边a、b、c的值:
```c
#include <stdio.h>
#include <math.h>
int main()
{
float a, b, c, s, area;
printf("请输入三角形三条边a、b、c的值:\n");
scanf("%f%f%f", &a, &b, &c);
s = (a + b + c) / 2.0; // 计算半周长
area = sqrt(s * (s - a) * (s - b) * (s - c)); // 计算面积
printf("三角形的面积为:%f\n", area);
return 0;
}
```
代码中使用了海伦公式计算三角形面积。首先计算半周长s,然后根据公式:$area = \sqrt{s(s-a)(s-b)(s-c)}$ 计算面积。
用C++写出输入三角形三条边a、b、c,判断该三角形是什么三角形
#include <stdio.h>
int main() {
float a, b, c;
printf("Enter the three sides of the triangle:\n");
scanf("%f%f%f", &a, &b, &c);
if (a <= 0 || b <= 0 || c <= 0) {
printf("Invalid input.\n");
} else if (a + b <= c || a + c <= b || b + c <= a) {
printf("Not a triangle.\n");
} else if (a == b && b == c) {
printf("Equilateral triangle.\n");
} else if (a == b || b == c || a == c) {
printf("Isosceles triangle.\n");
} else if (a * a + b * b == c * c || a * a + c * c == b * b || b * b + c * c == a * a) {
printf("Right triangle.\n");
} else {
printf("Scalene triangle.\n");
}
return 0;
}
阅读全文