通过坐标计算三角形面积

 

描述

平面上有一个三角形,它的三个顶点坐标分别为(x1, y1), (x2, y2), (x3, y3),那么请问这个三角形的面积是多少。

输入

输入仅一行,包括6个单精度浮点数,分别对应x1, y1, x2, y2, x3, y3。

输出

输出也是一行,输出三角形的面积,精确到小数点后两位。

 

样例输入

0 0 4 0 0 3

样例输出

6.00

提示

海伦公式:

假设在平面内,有一个三角形,边长分别为a、b、c,三角形的面积S可由以下公式求得:

S=√[p(p-a)(p-b)(p-c)]

而公式里的p为半周长:

p=(a+b+c)/2

C实现:

#include<stdio.h>
#include<math.h>
int main()
{
    float x1,y1,x2,y2,x3,y3;
    scanf("%f %f %f %f %f %f", &x1,&y1,&x2,&y2,&x3,&y3);
    double a,b,c,p,S;
    a=sqrt(fabs(pow(y2-y1,2))+fabs(pow(x2-x1,2)));
    b=sqrt(fabs(pow(y3-y1,2))+fabs(pow(x3-x1,2)));
    c=sqrt(fabs(pow(y2-y3,2))+fabs(pow(x2-x3,2)));
    p=(a+b+c)/2;
    S=sqrt(p*(p-a)*(p-b)*(p-c));
	printf("%0.2lf", S);
	return 0;
}

注:

求平方根:sqrt()

求浮点数的绝对值:fabs()

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值