4 solutions
-
1
#include <bits/stdc++.h> using namespace std; int main() { double x1, y1, x2, y2, x3, y3; cin >> x1 >> y1 >> x2 >> y2 >> x3 >> y3; double r1 = sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1)); double r2 = sqrt((x3 - x1) * (x3 - x1) + (y3 - y1) * (y3 - y1)); double r3 = sqrt((x2 - x3) * (x2 - x3) + (y2 - y3) * (y2 - y3)); double p = (r1 + r2 + r3) / 2.0; double s = sqrt(p * (p - r1) * (p - r2) * (p - r3)); printf("%.2f", s); return 0; } -
1
#include <bits/stdc++.h> using namespace std; int main() { double x1, y1, x2, y2, x3, y3; cin >> x1 >> y1 >> x2 >> y2 >> x3 >> y3; double r1 = sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1)); double r2 = sqrt((x3 - x1) * (x3 - x1) + (y3 - y1) * (y3 - y1)); double r3 = sqrt((x2 - x3) * (x2 - x3) + (y2 - y3) * (y2 - y3)); double p = (r1 + r2 + r3) / 2.0; double s = sqrt(p * (p - r1) * (p - r2) * (p - r3)); printf("%.2f", s); return 0; }
-
0
#include <stdio.h> #include <math.h> // 用于浮点数绝对值函数fabs
int main() { double x1, y1, x2, y2, x3, y3; // 读取6个双精度浮点数 scanf("%lf %lf %lf %lf %lf %lf", &x1, &y1, &x2, &y2, &x3, &y3); // 计算叉积的绝对值,再乘以0.5得到面积 double area = 0.5 * fabs( (x2 - x1) * (y3 - y1) - (y2 - y1) * (x3 - x1) ); // 输出保留两位小数 printf("%.2lf\n", area); return 0; }//关键点:向量叉乘
- 1
Information
- ID
- 4481
- Time
- 1000ms
- Memory
- 512MiB
- Difficulty
- 1
- Tags
- (None)
- # Submissions
- 164
- Accepted
- 109
- Uploaded By