【蓝桥杯】12-1三角形(Java实现)


/* 程序问题注释开始

  • 程序的版权和版本声明部分

  • Copyright © 2020,湖南工程职业技术学院信息工程学院学生

  • 文件名称: 蓝桥杯赛题

  • 作 者: 李 斌

  • 完成日期: 2020 年 04 月 14日

  • 对任务及求解方法的描述部分

  • 问题描述
      为二维空间中的点设计一个结构体,在此基础上为三角形设计一个结构体。分别设计独立的函数计算三角形的周长、面积、中心和重心。输入三个点,输出这三个点构成的三角形的周长、面积、外心和重心。结果保留小数点后2位数字。

  • 样列输入
      0 0
      0 1
      1 0

  • 样例输出
      3.41
      0.50
      0.50 0.50
      0.33 0.33

  • 数据规模和约定
      输入数据中每一个数的范围。
      例:doule型表示数据。

  • 程序问题注释结束

*/


import java.util.Scanner;
public class Main {

	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		Scanner in=new Scanner(System.in); 
		double[][] arr=new double[3][2];
		//分别存储面积、周长、半周长
		double area=0,perimeter=0,halfperimeter=0;
		//循环录入点坐标
		for(int i=0;i<3;i++)
		{
			//存储三点坐标
			arr[i][0]=in.nextDouble();
			arr[i][1]=in.nextDouble();
		}
		//分别求出三边长
		//利用两点之间的距离公式求边长
		double a=Math.sqrt(Math.pow(arr[0][0]-arr[1][0],2)+Math.pow(arr[0][1]-arr[1][1],2));
		double b=Math.sqrt(Math.pow(arr[1][0]-arr[2][0],2)+Math.pow(arr[1][1]-arr[2][1],2));
		double c=Math.sqrt(Math.pow(arr[0][0]-arr[2][0],2)+Math.pow(arr[0][1]-arr[2][1],2));
		//周长=边长之和
		perimeter=a+b+c;
		//输出周长
		System.out.printf("%.2f\n",perimeter);
		//面积
		//存储半周长
		halfperimeter=perimeter/2;
		//海伦定理求面积
		area=Math.sqrt(halfperimeter*(halfperimeter-a)*(halfperimeter-b)*(halfperimeter-c));
		//输出面积
		System.out.printf("%.2f\n",area);
		//外心
		//分别存储外心点坐标x,y
		double circumcenterX,circumcenterY,k;
		//三角形外心公式
		k = 2 * (arr[0][0] - arr[1][0]) * (arr[2][1] - arr[1][1]) - 2 * (arr[0][1] - arr[1][1]) * (arr[2][0] - arr[1][0]);
		circumcenterX = (arr[2][1] - arr[1][1]) * (arr[0][0] * arr[0][0] + arr[0][1] * arr[0][1] - arr[1][0] * arr[1][0] - arr[1][1] * arr[1][1]) - (arr[0][1] - arr[1][1])
				* (arr[2][0] * arr[2][0] + arr[2][1] * arr[2][1] - arr[1][0] * arr[1][0] - arr[1][1] * arr[1][1]);
		circumcenterY = (arr[0][0] - arr[1][0]) * (arr[2][0] * arr[2][0] + arr[2][1] * arr[2][1] - arr[1][0] * arr[1][0] - arr[1][1] * arr[1][1]) - (arr[2][0] - arr[1][0])
				* (arr[0][0] * arr[0][0] + arr[0][1] * arr[0][1] - arr[1][0] * arr[1][0] - arr[1][1] * arr[1][1]);
		//输出外心坐标点
		System.out.printf("%.2f %.2f\n",circumcenterX/k,circumcenterY/k);
		//重心
		//分别存储重心点坐标x,y
		double weightpointX,weightpointY;
		//三角形重心公式
		weightpointX=(arr[0][0]+arr[1][0]+arr[2][0])/3;
		weightpointY=(arr[0][1]+arr[1][1]+arr[2][1])/3;
		//输出重心坐标点
		System.out.printf("%.2f %.2f\n",weightpointX,weightpointY);
		
	}

}

运行结果:
运行结果

内容概要:该研究通过在黑龙江省某示范村进行24小时实地测试,比较了燃煤炉具与自动/手动进料生物质炉具的污染物排放特征。结果显示,生物质炉具相比燃煤炉具显著降低了PM2.5、COSO2的排放(自动进料分别降低41.2%、54.3%、40.0%;手动进料降低35.3%、22.1%、20.0%),但NOx排放未降低甚至有所增加。研究还发现,经济性便利性是影响生物质炉具推广的重要因素。该研究不仅提供了实际排放数据支持,还通过Python代码详细复现了排放特征比较、减排效果计算结果可视化,进一步探讨了燃料性质、动态排放特征、碳平衡计算以及政策建议。 适合人群:从事环境科学研究的学者、政府环保部门工作人员、能源政策制定者、关注农村能源转型的社会人士。 使用场景及目标:①评估生物质炉具在农村地区的推广潜力;②为政策制定者提供科学依据,优化补贴政策;③帮助研究人员深入了解生物质炉具的排放特征技术改进方向;④为企业研发更高效的生物质炉具提供参考。 其他说明:该研究通过大量数据分析模拟,揭示了生物质炉具在实际应用中的优点挑战,特别是NOx排放增加的问题。研究还提出了多项具体的技术改进方向政策建议,如优化进料方式、提高热效率、建设本地颗粒厂等,为生物质炉具的广泛推广提供了可行路径。此外,研究还开发了一个智能政策建议生成系统,可以根据不同地区的特征定制化生成政策建议,为农村能源转型提供了有力支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值