用户:
FIRE_BYTE查看:0 回复:1 评论:0 创建时间:2023-09-10T15:26:11

网址:![]()
由于我们并不知道三个点究竟是那三个,是上面的,左边的,还是右边的。所以我们并不能用小学学习的三角形面积计算公式,而是改用“海喵式”

因为海喵式只需要得知三条边的长度就行了,并不需要知道是哪三条边。
根据上一个帖子的内容,我们知道了求两个点之间的距离该如何求,这次这个题,恰巧就可以用上来求三条边,我们将上次的计算方法封装成函数
//设置传入4个双精度浮点数参数,和返回双精度浮点数。
double pointv(double x1,double y1,double x2,double y2)
{
double a,b,c;
//创建三个双精度浮点数类型的变量
a=x1-x2;
b=y1-y2;
//求出a和b的值(勾股定理)
c=sqrt(a*a+b*b);
//求出长度
return c; //返回
}
接着,我们套用海喵式求出面积并输出即可
完整代码:
#include<bits/stdc++.h>
using namespace std;
double pointv(double x1,double y1,double x2,double y2){
double a,b,c;
a=x1-x2;
b=y1-y2;
c=sqrt(a*a+b*b);
return c;
}
int main(){
double x1,y1,x2,y2,x3,y3,a,b,c,p,s; //创建变量
cin>>x1>>y1>>x2>>y2>>x3>>y3; //输入三个点的坐标
a=pointv(x1,y1,x2,y2); //求出a边的长度
b=pointv(x2,y2,x3,y3); //求出b边的长度
c=pointv(x1,y1,x3,y3); //求出c边的长度
p=(a+b+c)/2; //求出p
s=sqrt(p*(p-a)*(p-b)*(p-c)); //使用海喵式求出面积
cout<<fixed<<setprecision(2)<<s<<endl; //保留2位小数输出
return 0; //程序结束
}