题解 B2031 【计算三角形面积】
看到这道题,一种相似的感觉油然而生——我们瞬间想到了P5708 【深基2.习2】三角形面积!
让我们看看题目中的一句话:
一个三角形的三边长分别是 、、,那么它的面积为 ,其中 。
突然好像恍然大悟了!我们虽然只知道点的坐标,但可以通过公式 求出边的长度,最后利用此题的公式,马上求出答案!
Code
#include<iostream>
#include<cmath>
#include<cstdio>
using namespace std;
double x11,y11,x2,y2,x3,y3,a,b,c,p,ans;//x1,y1在<cmath>库中被定义了,需要重定一个变量
int main()
{
cin>>x11>>y11>>x2>>y2>>x3>>y3;
a=sqrt((x11-x2)*(x11-x2)+(y11-y2)*(y11-y2));
b=sqrt((x11-x3)*(x11-x3)+(y11-y3)*(y11-y3));
c=sqrt((x2-x3)*(x2-x3)+(y2-y3)*(y2-y3));
p=0.5*(a+b+c);
ans=sqrt(p*(p-a)*(p-b)*(p-c));
printf("%.2f",ans);
return 0;
}

浙公网安备 33010602011771号