题目大意:已知三点求三角形周长、面积、外心、重心,将结果保留两位小数

题目分析:周长很好求,只要将三条线段的长度相加即可。面积的求法有专门的公式,比较快捷。

外心是三角形三条线段上中垂线交点,求法是求出两条中垂线,然后求它们的交点即可。

重心是三条中线的交点,只要求出三点的均值即可。((x1+x2+x3)/3,(y1+y2+y3)/3)

代码展示:

#include <iostream>
#include <iomanip>
#include <algorithm>
#include <math.h>
using namespace std;struct Point{int x,y;
};double len(Point p1,Point p2){return sqrt(pow(p1.x-p2.x,2)+pow(p1.y-p2.y,2));
}int main(){Point p[3];for(int i=0;i<3;i++){cin>>p[i].x>>p[i].y;}double perimeter = 0;for(int i=0;i<3;i++){perimeter += len(p[i],p[(i+1)%3]);}cout<<fixed<<setprecision(2)<<perimeter<<endl;double a = len(p[0],p[1]);double b = len(p[1],p[2]);double c = len(p[2],p[0]);double s = 0.5*(a+b+c);double area = sqrt(s*(s-a)*(s-b)*(s-c));cout<<fixed<<setprecision(2)<<area<<endl;double a1 = p[1].x - p[0].x;double b1 = p[1].y - p[0].y;double c1 = (p[0].y * p[0].y - p[1].y * p[1].y + p[0].x * p[0].x - p[1].x * p[1].x) * 0.5000 ;double a2 = p[1].x - p[2].x ;double b2 = p[1].y - p[2].y ;double c2 = (p[2].y * p[2].y - p[1].y * p[1].y + p[2].x * p[2].x - p[1].x * p[1].x) * 0.5000 ;double X = (c1 * b2 - b1 * c2) / (b1 * a2 - a1 * b2) ;double Y = (a1 * c2 - c1 * a2) / (b1 * a2 - a1 * b2) ;cout<<fixed<<setprecision(2)<<X<<" ";cout<<fixed<<setprecision(2)<<Y<<endl;double weightx = (p[0].x+p[1].x+p[2].x)*1.0/3;double weighty = (p[0].y+p[1].y+p[2].y)*1.0/3;cout<<fixed<<setprecision(2)<<weightx<<" ";cout<<fixed<<setprecision(2)<<weighty<<endl;return 0;
}

蓝桥杯-三角形 已知三点求三角形周长、面积、外心、重心相关推荐

  1. 已知三点求圆心与半径

    已知三点求圆心与半径  kezunhai@gmail.com http://blog.csdn.net/kezunhai 在计算机图像图形学中,经常会用到求圆心或圆半径的情况,本文介绍一种已知三个点求 ...

  2. C#已知三点求圆方程算法

    如果不赶时间可以自己推算出算式或者直接参考另一个博主的文章: 三点确定一个圆的计算方法_Ivan 的专栏-CSDN博客_三点确定一个圆 程序完整部分<C#已知三点求圆方程算法.rar>已经 ...

  3. 已知三点求平面方程、平面法向量和点到平面的距离

    已知三点p1(x1,y1,z1),p2(x2,y2,z2),p3(x3,y3,z3),要求确定的平面方程 关键在于求出平面的一个法向量,为此做向量p1p2(x2-x1,y2-y1,z2-z1), p1 ...

  4. matlab已知三点求夹角,已知3点如何求其中两点对第3点的夹角

    公告: 为响应国家净网行动,部分内容已经删除,感谢读者理解. 话题:已知3点如何求其中两点对第3点的夹角? 问题详情:有3个问题:1)已知3点如何求其中两点对第3点的夹角?2)如何回答:1)已知3点求 ...

  5. 已知三点求平面方程、平面法向量和点到平面的距离(转载)

    已知三点p1(x1,y1,z1),p2(x2,y2,z2),p3(x3,y3,z3),要求确定的平面方程 关键在于求出平面的一个法向量,为此做向量p1p2(x2-x1,y2-y1,z2-z1), p1 ...

  6. 已知三点求圆心和半径

    https://blog.csdn.net/youhuakongzhi/article/details/86474619 https://blog.csdn.net/qq_43572555/artic ...

  7. 已知三点求平面法向量

    空间已知三点的位置p1(x1,y1,z1),p2(x2,y2,z2),p3(x3,y3,z3),令它们逆时针在空间摆放.这样就可以得到平面的两个向量p1p2(x2-x1,y2-y1,z2-z1),p1 ...

  8. 已知两点求直线一般方程,已知三点求平面一般方程

    我们知道,直线的一般方程是Ax+By+C=0,而平面的一般方程是Ax+By+Cz+D=0. 对于直线方程,有ABC三个未知数.但我们知道,已知两个点只能求出两个未知数.对于平面方程是同理的.事实上,一 ...

  9. 已知三点求平面的法向量 —— 两种方法

    最近学图形学时遇到了这个问题,PPT 给的大概是一个通过线性代数的方法求的,有点看不懂.加上线性代数早就忘光了,更加是一脸茫然.但是这个知识点在高中讲过,自己却怎么也记不起来了,直到今天突然记起来了, ...

  10. 三角形 已知三点坐标求面积

    逆时针输入设A(x1,y1),B(x2,y2),C(x3,y3) 由A–>B–>C–>A 按逆时针方向转.(行列式书写要求) 设三角形的面积为S ,则S=(1/2)*(下面行列式) ...

最新文章

  1. html怎么定位布局位置,CSS的position定位布局问题
  2. Laravel学习笔记(四)数据库 数据库迁移案例
  3. c#中字节数组byte[]、图片image、流stream,字符串string、内存流MemoryStream、文件file,之间的转换
  4. asp判断ajax请求 -asp.net,一个asp注册验证用户名是否重复的Ajax实例
  5. oracle百万级数据导入,用Perl从oracle导出百万级数据到excel
  6. android MTK手机adb remount 失败,如何remont成功?
  7. Pr 入门教程如何使用精确的剪辑蒙版?
  8. EasyUI onSelect方法
  9. nvidia jetson xavier打开风扇,并设置开机启动
  10. ANDROID webview解决视频无法播放问题
  11. 《死亡诗社》影评(作业)
  12. #从零开始学HCIA起步
  13. 16天记住英语7000个单词,300个句子
  14. win11无法连接wifi怎么办?
  15. Flowable入门系列文章35 - Activity解读 11
  16. 微信小程序截屏保存图片
  17. 怎么权衡不同类型项目的收益产出比 ROI?
  18. 经验谈系列 我们应该怎么给父母配电脑
  19. 微信开发之微信网页授权获取openid
  20. Windows下迁移谷歌浏览器个人资料路径,解决C盘容量爆满问题

热门文章

  1. VSCode: Acquiring CodeLLDB platform package 自动加载不成功解决方案
  2. Ubuntu16.04 + Titan XP + cuda8.0 + cudnn5.1 + opencv3.3.0 + caffe
  3. 单细胞测序数据下载和预处理
  4. DITHER 抖动算法
  5. Postgis使用工具raster2pgsql批量导入栅格数据(一)
  6. 小米手机访问电脑共享文件_小米手机共享文件夹在哪里
  7. uniapp 即时通讯_uniapp中与webview的即时通讯
  8. linux 重启apache:apachectl -k graceful
  9. Postgis使用工具osm2pgsql导入OpenStreetMap数据
  10. 5G 室内融合定位白皮书