★实验任务给定一个三角形的三个顶点的坐标,求它的面积。输入确保三个顶点不共线,且面积 S满足(0<S<10^10)。
★数据输入
输入为标准输入, 输入共三行,每行三个整数 X,Y,Z 表示顶点坐标。
★数据输出
输出仅一行,为空间三角形的面积,答案保留到小数点后两位。
输入示例
0 0 0
0 0 10 1 0
输出示例
0.50
Hint:
用海伦公式求三角形面积:
S=sqrt(p*(p-a)*(p-b)*(p-c));
其中 S 为三角形面积a,b,c 为三角形的边.
p=(a+b+c)/2;
AC代码:
#include <stdio.h> #include <math.h> int main() { __int64 a,b,c,d,e,f,g,h,i; long double m,n,x,y; scanf("%I64d %I64d %I64d %I64d %I64d %I64d %I64d %I64d %I64d",&a,&b,&c,&d,&e,&f,&g,&h,&i); m=sqrt((a-d)*(a-d)+(b-e)*(b-e)+(c-f)*(c-f)); n=sqrt((a-g)*(a-g)+(b-h)*(b-h)+(c-i)*(c-i)); x=sqrt((g-d)*(g-d)+(h-e)*(h-e)+(i-f)*(i-f)); y=(m+n+x)/2.0; printf("%.2Lf\n",sqrt(y*(y-m)*(y-n)*(y-x))); return 0; }
C 语言程序设计实践 3.10 计算三角形的面积 II
最新推荐文章于 2023-12-29 16:58:08 发布