用海伦公式求三角形周长与面积 C++

海伦公式又译作希伦公式、海龙公式、希罗公式、海伦-秦九韶公式。它是利用三角形的三条边的边长直接求三角形面积的公式。表达式为:S=√p(p-a)(p-b)(p-c),其中p等于周长的一半。

给出平面坐标上不在一条直线上三个点坐标 (x1,y1),(x2,y2),(xc,yc),坐标值是实数,且绝对值不超过100.00,求围成的三角形的周长和面积,保留两位小数,另输入数据保证能构成三角形。

输入格式

一行输入六个实数,分为为x1,y1,x2,y2,xc,yc,相邻两个数用空格隔开。

输出格式

一行两个实数,分别表示三角形的周长和面积。

样例

input

0 0 0 3 4 0

output

12.00  6.00  

input

3.4 12 9 6 7 5.2

output

18.06  8.24

input

4 4 4 10 12 4

output

24.00  24.00

数据范围与提示

时间限制:

1s

空间限制:

256MB

#include<bits/stdc++.h>
using namespace std;
double dis(double x1,double x2,double y1,double y2){
//计算两点之间的距离,即使三角形边长 
	double d=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
	return d;
}
double cir(double a,double b,double c){
	//计算三角形周长 
	return a+b+c;
	}
double area(double a,double b,double c){
	//用海伦公式计算三角形面积 
		double p=cir(a,b,c)/2.0;
		double s=sqrt(p*(p-a)*(p-b)*(p-c));
		return s;
	}
int main(){
double a,b,c;
double x1,y1,x2,y2,d,xc,yc;
scanf("%lf%lf%lf%lf%lf%lf",&x1,&y1,&x2,&y2,&xc,&yc);
double dis1=dis(x1,x2,y1,y2);//三角形的边长1 
double dis2=dis(x2,xc,y2,yc);//三角形的边长2 
double dis3=dis(xc,x1,yc,y1);//三角形的边长3 
printf("%.2lf",cir(dis1,dis2,dis3));//输出三角形周长,保留小数点后两位 
cout<<" ";//输出空格 
printf("%.2lf",area(dis1,dis2,dis3));//输出三角形面积,保留小数点后两位 
	return 0;
}

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值