【Cousera】北京大学 | 计算导论与C语言基础习题_3:计算三角形面积

本文介绍了一种使用海伦公式计算平面直角坐标系中任意三点构成的三角形面积的方法,并提供了一个C++代码示例,该代码接收六个单精度浮点数作为输入,分别代表三角形三个顶点的坐标,然后计算并输出精确到小数点后两位的三角形面积。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

3:计算三角形面积
总时间限制: 1000ms 内存限制: 65536kB
描述
平面上有一个三角形,它的三个顶点坐标分别为(x1, y1), (x2, y2), (x3, y3),那么请问这个三角形的面积是多少。

输入
输入仅一行,包括6个单精度浮点数,分别对应x1, y1, x2, y2, x3, y3。
输出
输出也是一行,输出三角形的面积,精确到小数点后两位。
样例输入
0 0 4 0 0 3
样例输出
6.00
提示
海伦公式
假设在平面内,有一个三角形,边长分别为a、b、c,三角形的面积S可由以下公式求得:
在这里插入图片描述
而公式里的p为半周长(周长的一半):
在这里插入图片描述
代码

#include "pch.h"
#include <iostream>
#include <math.h>
using namespace std;

int main()
{
	float input[6] = { 0 },temp;
	for (int i = 0; i < 6; i++)
	{
		cin >> temp;
		input[i] = temp;
	}
	float p = 0, a = 0,b = 0,c = 0,area = 0;

	a = sqrt(powf((input[2] - input[0]), 2.0) + powf((input[3] - input[1]), 2.0));
	b = sqrt(powf((input[4] - input[0]), 2.0) + powf((input[5] - input[1]), 2.0));
	c = sqrt(powf((input[4] - input[2]), 2.0) + powf((input[5] - input[3]), 2.0));

	p = (a + b + c) / 2.0;
	area = sqrt(p*(p - a)*(p - b)*(p - c));
	printf("%.2f", area);
	
	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值