【OpenJudge】c言語_三角形面積の計算
990 ワード
三角形の面積の計算
表示コミット統計質問合計時間制限:
1000ms
メモリの制限:
65536kB
説明
平面の上で1つの三角形があって、その3つの頂点の座標はそれぞれ(x 1,y 1),(x 2,y 2),(x 3,y 3)で、それではこの三角形の面積はいくらですかをお聞きします.
入力
入力は1行のみで、x 1,y 1,x 2,y 2,x 3,y 3に対応する6つの単精度浮動小数点数を含む.
しゅつりょく
出力も1行で、三角形の面積を出力し、小数点以下の2桁まで正確にします.
サンプル入力
サンプル出力
ヒント
ヘレンの公式
---
----
表示コミット統計質問合計時間制限:
1000ms
メモリの制限:
65536kB
説明
平面の上で1つの三角形があって、その3つの頂点の座標はそれぞれ(x 1,y 1),(x 2,y 2),(x 3,y 3)で、それではこの三角形の面積はいくらですかをお聞きします.
入力
入力は1行のみで、x 1,y 1,x 2,y 2,x 3,y 3に対応する6つの単精度浮動小数点数を含む.
しゅつりょく
出力も1行で、三角形の面積を出力し、小数点以下の2桁まで正確にします.
サンプル入力
0 0 4 0 0 3
サンプル出力
6.00
ヒント
ヘレンの公式
#include
#include
int main()
{
double xa,ya,xb,yb,xc,yc,m,l1,l2,l3,p;
scanf("%lf %lf %lf %lf %lf %lf",&xa,&ya,&xb,&yb,&xc,&yc);
l1 = pow(fabs(xa-xb),2)+pow(fabs(ya-yb),2);//a,b
l2 = pow(fabs(xa-xc),2)+pow(fabs(ya-yc),2);//a,c
l3 = pow(fabs(xb-xc),2)+pow(fabs(yb-yc),2);//b,c
l1 = sqrt(l1);
l2 = sqrt(l2);
l3 = sqrt(l3);
p = (l1+l2+l3)/2;//
m = sqrt(p*(p-l1)*(p-l2)*(p-l3)); //
printf("%.2f",m);
return 0;
}
---
----