解题思路:

注意事项:
接收输入用单精度,运算用双精度(有多次开方运算),避免丢失精度。

借助海伦公式,可自行查询,这里不在过多赘述。

可直接使用。

参考代码:

#include<iostream>

#include<cmath>

#include<iomanip>

using namespace std;

int main() {

 float x1, y1, x2, y2, x3, y3;
cin >> x1 >> y1 >> x2 >> y2 >> x3 >> y3;

 double len1 = (x2-x1)*(x2-x1)+(y2-y1)*(y2-y1);//a
double res1 = sqrt(len1);

 double len2 = (x3 - x1)*(x3 - x1) + (y3 - y1)*(y3 - y1);//b
double res2 = sqrt(len2);

double len3 = (x3 - x2)*(x3 - x2) + (y3 - y2)*(y3 - y2);//c
double res3 = sqrt(len3);

double p = (res1 + res2 + res3) / 2;

double r = p * (p - res1) * (p - res2) * (p - res3);

double s = sqrt(r);
cout << fixed << setprecision(2) << s << endl;

return 0;
}

点赞(0)
 

0.0分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论