C 语言程序设计实践 3.10 计算三角形的面积 II

★实验任务

给定一个三角形的三个顶点的坐标,求它的面积。输入确保三个顶点不共线,且面积 S满足(0<S<10^10)。

★数据输入

输入为标准输入, 输入共三行,每行三个整数 X,Y,Z 表示顶点坐标。

★数据输出

输出仅一行,为空间三角形的面积,答案保留到小数点后两位。

输入示例 

0 0 0

0 0 1

0 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;   
  
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值