1 条题解
-
0
这道题简单到不能再简单,只要将数学学好就行了。
解题思路
这道题考查的是行列式,只要你知道这个公式:$S=\frac{1}{2}|x_1(y_2-y_3)+x_2(y_3-y_1)+x_3(y_1-y_2)|$,这样看来,我们只要将各个未知数用题目给出的数据替换掉,翻译成代码就变成了这样:
double S = abs(x1 * (y2 - y3) + x2 * (y3 - y1) + x3 * (y1 - y2)) / 2;
最后再处理保留两位小数的结果就行了。 这个代码我就不乘除这样操作了,比较费手。
完整代码
#include <bits/stdc++.h> using namespace std; int main() { ios::sync_with_stdio(false), cin.tie(), cout.tie(); double x1, y1, x2, y2, x3, y3; cin >> x1 >> y1 >> x2 >> y2 >> x3 >> y3; // 读取输入的坐标 // 使用公式计算三角形的面积 double S = abs(x1 * (y2 - y3) + x2 * (y3 - y1) + x3 * (y1 - y2)) / 2; // 输出结果,精确到小数点后两位 cout << fixed << setprecision(2) << S << endl; // printf("%.2f", S) return 0; }
- 1
信息
- ID
- 35
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 6
- 标签
- (无)
- 递交数
- 33
- 已通过
- 11
- 上传者