浙江万里学院“真我风采”程序设计竞赛 :四边形的面积

阅读: 评论:0

浙江万里学院“真我风采”程序设计竞赛 :四边形的面积

浙江万里学院“真我风采”程序设计竞赛 :四边形的面积

已知平面上四点P1、P2、P3、P4的坐标,分别为(X1,Y1)、(X2,Y2)、(X3,Y3)、(X4,Y4)
如果将P1P2连线的中点A、P2P3连线的中点B、P3P4连线的中点C以及P4P1连线的中点D连接为一个新的四边形,你能否计算出四边形ABCD的面积?

输入

P1、P2、P3、P4的坐标,每行两个值,横坐标在前,纵坐标在后,以空格分隔
每个坐标值均为整数,取值范围在[0,10000]之间,即:最小为0,最大为10000

输出

四边形ABCD的面积,保留两位小数

样例输入 Copy

0 0
1 4
7 7
9 1

样例输出 Copy

19.25

提示

在平面几何中,ABCD被定义为中点四边形。容易证明:ABCD为平行四边形

#include <stdio.h>
#include <math.h>
double Area(int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4);
int main() {int x1, y1, x2, y2, x3, y3, x4, y4;scanf("%d%d%d%d%d%d%d%d", &x1, &y1, &x2, &y2, &x3, &y3, &x4, &y4);printf("%.2fn", Area(x1, y1, x2, y2, x3, y3, x4, y4));
}double Area(int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4) {double a, b, c, d, e, q, A, B = -1.0, C, area;double X1, Y1, X2, Y2, X3, Y3, X4, Y4;X1 = (x1 + x2) / 2.0;X2 = (x3 + x2) / 2.0;X3 = (x3 + x4) / 2.0;X4 = (x1 + x4) / 2.0;Y1 = (y1 + y2) / 2.0;Y2 = (y3 + y2) / 2.0;Y3 = (y3 + y4) / 2.0;Y4 = (y1 + y4) / 2.0;a = sqrt(pow(X1 - X2, 2.0) + pow(Y1 - Y2, 2.0));b = sqrt(pow(X2 - X3, 2.0) + pow(Y2 - Y3, 2.0));c = sqrt(pow(X1 - X3, 2.0) + pow(Y1 - Y3, 2.0));q = (a + b + c) / 2.0;e = sqrt(q * (q - a) * (q - b) * (q - c));area = 2.0 * e;return area;
}

海伦公式:S=sqrt(p(p-a)(p-b)(p-c))         p=(a+b+c)/2;

由题知,中点四边形是平行四边形,所以.......

本文发布于:2024-02-01 12:13:37,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170676081936516.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:浙江   万里   程序设计   真我   面积
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23