通過座標計算三角形面積
阿新 • • 發佈:2018-12-02
描述
平面上有一個三角形,它的三個頂點座標分別為(x1, y1), (x2, y2), (x3, y3),那麼請問這個三角形的面積是多少。
輸入
輸入僅一行,包括6個單精度浮點數,分別對應x1, y1, x2, y2, x3, y3。
輸出
輸出也是一行,輸出三角形的面積,精確到小數點後兩位。
樣例輸入
0 0 4 0 0 3
樣例輸出
6.00
提示
海倫公式:
假設在平面內,有一個三角形,邊長分別為a、b、c,三角形的面積S可由以下公式求得:
S=√[p(p-a)(p-b)(p-c)]
而公式裡的p為半周長:
p=(a+b+c)/2
C實現:
#include<stdio.h> #include<math.h> int main() { float x1,y1,x2,y2,x3,y3; scanf("%f %f %f %f %f %f", &x1,&y1,&x2,&y2,&x3,&y3); double a,b,c,p,S; a=sqrt(fabs(pow(y2-y1,2))+fabs(pow(x2-x1,2))); b=sqrt(fabs(pow(y3-y1,2))+fabs(pow(x3-x1,2))); c=sqrt(fabs(pow(y2-y3,2))+fabs(pow(x2-x3,2))); p=(a+b+c)/2; S=sqrt(p*(p-a)*(p-b)*(p-c)); printf("%0.2lf", S); return 0; }
注:
求平方根:sqrt()
求浮點數的絕對值:fabs()