问题描述:
输入在三维空间的三角形三个顶点A,B,C的坐标(x,y,z),计算并输出三角形面积。不考虑不能构成三角形的特殊情况。
输入格式:
依次输入三个顶点A,B,C的坐标(x,y,z),整型,空格分隔。
输出格式:
输出实型,保留2位小数。
输入样例:
0 0 0 0 0 3 3 0 0
输出样例:
4.50
程序代码:
#include<bits/stdc++.h>
using namespace std;
int main( )
{
int x1,y1,z1,x2,y2,z2,x3,y3,z3;
cin>>x1>>y1>>z1>>x2>>y2>>z2>>x3>>y3>>z3;
double a,b,c,p,s;
a=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)+(z1-z2)*(z1-z2));//或者a=sqrt(pow(x1-x2,2)+pow(y1-y2,2)+pow(z1-z2,2));
b=sqrt((x1-x3)*(x1-x3)+(y1-y3)*(y1-y3)+(z1-z3)*(z1-z3));
c=sqrt((x3-x2)*(x3-x2)+(y3-y2)*(y3-y2)+(z3-z2)*(z3-z2));
p=(a+b+c)/2;
s=sqrt(p*(p-a)*(p-b)*(p-c));
cout<<fixed<<setprecision(2);
cout<<s<<endl;
return 0;
}