17:计算三角形面积

一、题目链接

http://noi.openjudge.cn/ch0103/17/

二、解题思路

◎ 高斯鞋带公式(x1*y2+x2*y3+x3*y1-x1*y3-x2*y1-x3*y2)/2用于计算三角形面积,计算结果可能为负;
◎ C++的cmath库提供abs函数计算一个数的绝对值,称为绝对值操作,例如:
   → abs(-1)得到1;
   → abs(1.5)得到1.5;
  注意:abs函数括号中的数据是什么类型,得到的绝对值结果就是什么类型;
◎ 输入三个顶点的横坐标和纵坐标,通过高斯鞋带公式计算三角形面积。

三、实施步骤

◎ 首先,定义并输入六个float类型的浮点数x1、y1、x2、y2、x3、y3,分别代表三个顶点的横坐标、纵坐标;
◎ 其次,定义float类型的浮点数ans,代表三个顶点构成三角形的面积,令ans=abs(x1*y2+x2*y3+x3*y1-x1*y3-x2*y1-x3*y2)/2;
◎ 最后,通过格式控制输出语句printf配合"%.2f"格式控制标记,输出ans。

四、C++程序

#include <iostream>
#include <cmath> // 使用cmath库中的abs函数进行绝对值操作
using namespace std;

int main()
{
    float x1; // 第一个顶点的横坐标
    float y1; // 第一个顶点的纵坐标
    float x2; // 第二个顶点的横坐标
    float y2; // 第二个顶点的纵坐标
    float x3; // 第三个顶点的横坐标
    float y3; // 第三个顶点的纵坐标
    cin >> x1;
    cin >> y1;
    cin >> x2;
    cin >> y2;
    cin >> x3;
    cin >> y3;    
    float ans = abs(x1 * y2 + x2 * y3 + x3 * y1 - x1 * y3 - x2 * y1 - x3 * y2) / 2; // 利用高斯鞋带公式计算三角形面积
    printf("%.2f", ans); // 保留2位小数输出三角形面积
    return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

江苏科技大学_计算机学院_潘磊

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

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

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

打赏作者

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

抵扣说明:

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

余额充值