博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【刷题小记67】三角形面积
阅读量:5334 次
发布时间:2019-06-15

本文共 742 字,大约阅读时间需要 2 分钟。

描写叙述 给你三个点。表示一个三角形的三个顶点,现你的任务是求出该三角形的面积
输入
每行是一组測试数据。有6个整数x1,y1,x2,y2,x3,y3分别表示三个点的横纵坐标。

(坐标值都在0到10000之间)

输入0 0 0 0 0 0表示输入结束
測试数据不超过10000组

输出

输出这三个点所代表的三角形的面积,结果精确到小数点后1位(即使是整数也要输出一位小数位)

分析:用向量法简单,向量的叉乘在定义上有:两个向量进行叉乘得到的是一个向量,方向垂直于这两个向量构成的平面,大小等于这两个向量组成的平行四边形的面积。

这样就能够通过先求向量AB(x2-x1,y2-y1)AC(x3-x1,y3-x3)然后求ABxAC(求AB AC的行列式)然后将结果的绝对值除以2.

#include 
#include
int area(int x0,int y0,int x1,int y1,int x2,int y2){ return x0*y1+x2*y0+x1*y2-x0*y2-x1*y0-x2*y1;}int main(){ int x0,y0,x1,y1,x2,y2; while(1) { scanf("%d %d %d %d %d %d",&x0,&y0,&x1,&y1,&x2,&y2); if(x0+y0+x1+y1+x2+y2==0) break; printf("%.1f\n",fabs(area(x0,y0,x1,y1,x2,y2))/2.0); } return 0;}

转载于:https://www.cnblogs.com/blfbuaa/p/6785780.html

你可能感兴趣的文章
python 6种数据类型几及用法
查看>>
第二阶段冲刺_个人总结04
查看>>
使用Subversion进行版本控制 附录A
查看>>
CSS01基础
查看>>
开发过程中遇到的问题
查看>>
Linux(DeepInOS) 下 mysql 的安装与基本配置
查看>>
【POJ 2481】Cows(离散化+树状数组)
查看>>
ubuntu下搭建samba服务器
查看>>
调研android开发环境的发展演变
查看>>
get请求太长
查看>>
69期-Java SE-003_流程控制、循环-001-002
查看>>
【洛谷 1502】窗口的星星
查看>>
LeetCode 239. 滑动窗口最大值
查看>>
第三周 Leetcode 4. Median of Two Sorted Arrays (HARD)
查看>>
大整数加法,高精度加法
查看>>
datagrid空间的使用
查看>>
字符串的方法slice、substr、substring对比
查看>>
X86逆向教程6:易语言程序的DIY
查看>>
Fiddler抓取微信网页
查看>>
【OpenCV学习】矩阵运算和操作2
查看>>