【洛谷 B2031】计算三角形面积 题解(顺序结构+海伦公式)

本文主要是介绍【洛谷 B2031】计算三角形面积 题解(顺序结构+海伦公式),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

计算三角形面积

题目描述

平面上有一个三角形,它的三个顶点坐标分别为 ( x 1 , y 1 ) , ( x 2 , y 2 ) , ( x 3 , y 3 ) (x_1,y_1),(x_2,y_2),(x_3,y_3) (x1,y1),(x2,y2),(x3,y3),那么请问这个三角形的面积是多少。

输入格式

输入仅一行,包括 6 6 6 个双精度浮点数,分别对应 x 1 , y 1 , x 2 , y 2 , x 3 , y 3 x_1,y_1,x_2,y_2,x_3,y_3 x1,y1,x2,y2,x3,y3

输出格式

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

样例 #1

样例输入 #1

0 0 4 0 0 3

样例输出 #1

6.00

思路

在main函数中,声明了多个float类型的变量,用于存储用户输入的坐标和计算结果。

使用scanf函数从标准输入读取6个浮点数,分别为三个顶点的坐标(x1, y1),(x2, y2),(x3, y3),并将它们分别存储到对应的变量中。

然后,调用自定义函数AB,计算三个边的长度a、b、c。

接下来,计算半周长p,即三边长度之和的一半。

然后,使用sqrt函数计算面积s,通过海伦公式:s = sqrt(p * (p - a) * (p - b) * (p - c))。

最后,使用printf函数将面积s的值以%.2f的格式打印出来,保留两位小数。


AC代码

#include <iostream>
#include <cstdio>
#include <cmath>
#define AUTHOR "HEX9CF"
using namespace std;float AB(float x1, float x2, float y1, float y2)
{return sqrt(pow((x1 - x2), 2) + pow((y1 - y2), 2));
}int main()
{float x1, x2, x3, y1, y2, y3, a, b, c, p, s;scanf("%f%f%f%f%f%f", &x1, &y1, &x2, &y2, &x3, &y3);a = AB(x1, x2, y1, y2);b = AB(x1, x3, y1, y3);c = AB(x3, x2, y3, y2);p = (a + b + c) / 2;s = sqrt((p * (p - a) * (p - b) * (p - c)));printf("%.2f", s);return 0;
}

这篇关于【洛谷 B2031】计算三角形面积 题解(顺序结构+海伦公式)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/437198

相关文章

Python并行处理实战之如何使用ProcessPoolExecutor加速计算

《Python并行处理实战之如何使用ProcessPoolExecutor加速计算》Python提供了多种并行处理的方式,其中concurrent.futures模块的ProcessPoolExecu... 目录简介完整代码示例代码解释1. 导入必要的模块2. 定义处理函数3. 主函数4. 生成数字列表5.

Java中JSON格式反序列化为Map且保证存取顺序一致的问题

《Java中JSON格式反序列化为Map且保证存取顺序一致的问题》:本文主要介绍Java中JSON格式反序列化为Map且保证存取顺序一致的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未... 目录背景问题解决方法总结背景做项目涉及两个微服务之间传数据时,需要提供方将Map类型的数据序列化为co

Python+PyQt5实现文件夹结构映射工具

《Python+PyQt5实现文件夹结构映射工具》在日常工作中,我们经常需要对文件夹结构进行复制和备份,本文将带来一款基于PyQt5开发的文件夹结构映射工具,感兴趣的小伙伴可以跟随小编一起学习一下... 目录概述功能亮点展示效果软件使用步骤代码解析1. 主窗口设计(FolderCopyApp)2. 拖拽路径

Java计算经纬度距离的示例代码

《Java计算经纬度距离的示例代码》在Java中计算两个经纬度之间的距离,可以使用多种方法(代码示例均返回米为单位),文中整理了常用的5种方法,感兴趣的小伙伴可以了解一下... 目录1. Haversine公式(中等精度,推荐通用场景)2. 球面余弦定理(简单但精度较低)3. Vincenty公式(高精度,

MySQL中SQL的执行顺序详解

《MySQL中SQL的执行顺序详解》:本文主要介绍MySQL中SQL的执行顺序,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mysql中SQL的执行顺序SQL执行顺序MySQL的执行顺序SELECT语句定义SELECT语句执行顺序总结MySQL中SQL的执行顺序

使用Python开发Markdown兼容公式格式转换工具

《使用Python开发Markdown兼容公式格式转换工具》在技术写作中我们经常遇到公式格式问题,例如MathML无法显示,LaTeX格式错乱等,所以本文我们将使用Python开发Markdown兼容... 目录一、工具背景二、环境配置(Windows 10/11)1. 创建conda环境2. 获取XSLT

windows和Linux使用命令行计算文件的MD5值

《windows和Linux使用命令行计算文件的MD5值》在Windows和Linux系统中,您可以使用命令行(终端或命令提示符)来计算文件的MD5值,文章介绍了在Windows和Linux/macO... 目录在Windows上:在linux或MACOS上:总结在Windows上:可以使用certuti

SpringBoot中配置文件的加载顺序解读

《SpringBoot中配置文件的加载顺序解读》:本文主要介绍SpringBoot中配置文件的加载顺序,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录SpringBoot配置文件的加载顺序1、命令⾏参数2、Java系统属性3、操作系统环境变量5、项目【外部】的ap

Spring Boot 配置文件之类型、加载顺序与最佳实践记录

《SpringBoot配置文件之类型、加载顺序与最佳实践记录》SpringBoot的配置文件是灵活且强大的工具,通过合理的配置管理,可以让应用开发和部署更加高效,无论是简单的属性配置,还是复杂... 目录Spring Boot 配置文件详解一、Spring Boot 配置文件类型1.1 applicatio

使用Java实现通用树形结构构建工具类

《使用Java实现通用树形结构构建工具类》这篇文章主要为大家详细介绍了如何使用Java实现通用树形结构构建工具类,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录完整代码一、设计思想与核心功能二、核心实现原理1. 数据结构准备阶段2. 循环依赖检测算法3. 树形结构构建4. 搜索子