如题,数据都是以厘米为单位,求三角形面积的公式使用海伦公式
#include <stdio.h> #include <math.h> int main() { int a, b, c, h; double p, s; scanf("%d %d %d", &a, &b, &c); p = (a + b + c) / 2.0; s = sqrt(p * (p - a) * (p - b) * (p - c)); h = 2 * s / c; printf("%d", h); return 0; }
要注意的是这题要用到sqrt()函数,所以我们需要调用math库:
#include <math.h>
首先我们要用scanf()函数将三边的长度输入程序内:
int a,b,c,h; //定义三边长,以及高 double p,s; //定义公式中的P,S scanf("%d %d %d", &a, &b, &c); //注意,scanf括号内的格式与你在程序输入格式应当相同
已知三条边a,b,c,求P的值就需要将三边之和除2:
p = (a + b + c) / 2.0;
求出P值后,我们就可以使用海伦公式求出三角形面积:
s = sqrt(p * (p - a) * (p - b) * (p - c)); //sqrt函数用来开根号
得出三角形面积后,我们使用h=2×三角形的面积÷三角形的对应边:
h = 2 * s / c;
最后,输出求出的高:
printf("%d", h); //不要在h前加&符号,这会导致输出h值的地址
此题解法如上