1158: 三角形面積
阿新 • • 發佈:2020-12-12
技術標籤:c語言
1158: 三角形面積
題目描述
給你三個點,表示一個三角形的三個頂點,現你的任務是求出該三角形的面積.
輸入
每行是一組測試資料,有6個整數x1,y1,x2,y2,x3,y3分別表示三個點的橫縱座標。(座標值都在0到10000之間)
輸入0 0 0 0 0 0表示輸入結束
測試資料不超過10000組
輸出
輸出這三個點所代表的三角形的面積,結果精確到小數點後1位(即使是整數也要輸出一位小數位)
#include<stdio.h>
#include<math.h>
int main()
{
float x1,y1,x2,y2,x3,y3;
while(~scanf ("%f %f %f %f %f %f", &x1,&y1,&x2,&y2,&x3,&y3))
if(x1==0&&x2==0&&x3==0&&y1==0&&y2==0&&y3==0)
break;
else{
double a,b,c,p,s;
a=sqrt(pow(y2-y1,2)+pow(x2-x1,2));//求出三條邊的長度
b=sqrt(pow(y3-y1,2)+pow(x3-x1,2));
c= sqrt(pow(y2-y3,2)+pow(x2-x3,2));
p=(a+b+c)/2;//利用海倫公式求三角形面積
s=sqrt(p*(p-a)*(p-b)*(p-c));
printf("%.1lf\n", s);
}
return 0;
}