17:计算三角形面积

17:计算三角形面积

总时间限制: 1000ms 内存限制: 65536kB

描述

平面上有一个三角形,它的三个顶点坐标分别为(x1, y1), (x2, y2), (x3, y3),那么请问这个三角形的面积是多少。

输入

输入仅一行,包括6个单精度浮点数,分别对应x1, y1, x2, y2, x3, y3。

输出

输出也是一行,输出三角形的面积,精确到小数点后两位。

样例输入

0 0 4 0 0 3

样例输出

6.00

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		// 平面上有一个三角形,它的三个顶点坐标分别为(x1, y1), (x2, y2), (x3, y3),那么请问这个三角形的面积是多少。
		
		Scanner sc = new Scanner(System.in);
		float x[] = new float [10];
		float y[] = new float [10];
		
		//获取第一个坐标
		String Line = sc.nextLine();
		String[] s = Line.split(" +");
		x[1] =  Float.parseFloat(s[0]);
		y[1] =  Float.parseFloat(s[1]);
		
		//获取第二个坐标
		x[2] =  Float.parseFloat(s[2]);
		y[2] =  Float.parseFloat(s[3]);
		
		//获取第三个坐标
		x[3] =  Float.parseFloat(s[4]);
		y[3] =  Float.parseFloat(s[5]);		
		
		//求边长l1,l2,l3
		double l1 = Math.sqrt(Math.pow((x[1]-x[2]),2)+Math.pow((y[1]-y[2]),2));
		double l2 = Math.sqrt(Math.pow((x[2]-x[3]),2)+Math.pow((y[2]-y[3]),2));
		double l3 = Math.sqrt(Math.pow((x[3]-x[1]),2)+Math.pow((y[3]-y[1]),2));

		//海伦公式求面积S=√p(p-a)(p-b)(p-c)
		double S;
		double p;
		p = (l1+l2+l3)/2;
		S = Math.sqrt(p*(p-l1)*(p-l2)*(p-l3));
		System.out.printf("%.2f",S);
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值