求凸四边形的面积(C++)

问题描述:

输入四边4个顶点A,B,C,D的坐标(x,y),计算并输出四边形面积。

输入格式:

依次输入4个顶点A,B,C,D的坐标(x,y),四边形一定是凸四边形,整型,空格分隔。

输出格式:

输出实型,保留2位。

程序代码: 

#include<iostream>
#include<cmath>
#include<iomanip>
using namespace std;

int main() {
	int x1, x2, x3, x4, y1, y2, y3, y4;
	cin >> x1 >> y1 >> x2 >> y2 >> x3 >> y3 >> x4 >> y4;
	double s1, s2, s3, s4, s;
	s1 = 0.5 * fabs(x1 * y2 + x2 * y3 + x3 * y1 - x1 * y3 - x2 * y1 - x3 * y2);//点1,2,3组成的三角形
	s2 = 0.5 * fabs(x1 * y2 + x2 * y4 + x4 * y1 - x1 * y4 - x2 * y1 - x4 * y2);//点1,2,4组成的三角形
	s3 = 0.5 * fabs(x1 * y3 + x3 * y4 + x4 * y1 - x1 * y4 - x3 * y1 - x4 * y3);//点1,3,4组成的三角形
	s4 = 0.5 * fabs(x2 * y3 + x3 * y4 + x4 * y2 - x2 * y4 - x3 * y2 - x4 * y3);//点2,3,4组成的三角形
	s = 0.5 * (s1 + s2 + s3 + s4);
	cout << fixed << setprecision(2) << s << endl;
	return 0;
}
  • 9
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

^好想吃糖^

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值