我是伞兵.当你不清楚三角形关于三边的公式belike
查看原帖
我是伞兵.当你不清楚三角形关于三边的公式belike
1591975
Kuuhakuchyan楼主2024/12/5 18:00
#include<iostream>
#include<math.h>
using namespace std;
#include<iomanip>
int main(void)
{
	double x1, x2, x3, y1, y2, y3;
	double w, l, b;
	int i, m;
	cin >> x1 >> y1 >> x2 >> y2 >> x3 >> y3;
	double a[] = { x1,x2,x3,y1,y2,y3 };
	double S, s1, s2, s3, s;
	{
		for (i = 0; i < 3; i++)
		{
			for (m = 0; m < 3 - i - 1; m++)
			{
				if (a[m] > a[m + 1]) {
					b = a[m];
					a[m] = a[m + 1];
					a[m + 1] = b;
				}
			}
		}
		l = a[2] - a[0];
	}
	{
		for (i = 3; i < 6; i++)
		{
			for (m = 3; m < 6- i - 1; m++)
			{
				if (a[m] > a[m + 1]) {
					b = a[m];
					a[m] = a[m + 1];
					a[m + 1] = b;
				}
			}
		}
		w = a[5] - a[3];
	}
	{
		S = l*w;
		s1 = fabs(x1 - x2) * fabs(y1 - y2) / 2.0;
		s2 = fabs(x1 - x3) * fabs(y1 - y3) / 2.0;
		s3 = fabs(x2 - x3) * fabs(y2 - y3) / 2.0;
	}
	s =S-(s1+s2 +s3);
	cout << fixed << setprecision(2) << s;
	return 0;
}
2024/12/5 18:00
加载中...