1. 程式人生 > >C++資訊學奧賽一本通題庫1034計算三角形面積

C++資訊學奧賽一本通題庫1034計算三角形面積

計算三角形面積


時間限制: 1000 ms         記憶體限制: 65536 KB
提交數: 1813     通過數: 622 


【題目描述】
平面上有一個三角形,它的三個頂點座標分別為(x1, y1), (x2, y2), (x3, y3),那麼請問這個三角形的面積是多少,精確到小數點後兩位。


【輸入】
輸入僅一行,包括6個單精度浮點數,分別對應x1, y1, x2, y2, x3, y3。


【輸出】
輸出也是一行,輸出三角形的面積,精確到小數點後兩位。


【輸入樣例】
0 0 4 0 0 3
【輸出樣例】
6.00
【來源】


No
原始碼:
#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
int main()
{
double x1,x2,x3,y1,y2,y3,p,s,a,b,c;
cout.precision(2);
cin>>x1>>y1>>x2>>y2>>x3>>y3;
a=sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1));
b=sqrt((x3-x2)*(x3-x2)+(y3-y2)*(y3-y2)); 
c=sqrt((x3-x1)*(x3-x1)+(y3-y1)*(y3-y1));
p=(a+b+c)/2;
s=sqrt(p*(p-a)*(p-b)*(p-c));
cout<<fixed<<s; 
return 0;
}