蓝桥杯/第三届/土地测量

 【问题描述】
    造成高房价的原因有许多,比如土地出让价格。既然地价高,土地的面积必须仔细计算。遗憾的是,有些地块的形状不规则,比如【图1】中所示的五边形。
【图1】
 
【图2】
    一般需要把它划分为多个三角形来计算。
 
    已知三边求三角形的面积需要用海伦定理,参见【图2】
 
    各条边长数据如下:
    AB = 52.1
    BC = 57.2
    CD = 43.5
    DE = 51.9
    EA = 33.4
    EB = 68.2
    EC = 71.9
 
    根据这些数据求五边形地块的面积。结果四舍五入到小数后两位。四舍五入到小数后两位。只写结果,不要源代码!
 

【问题分析】
本题不需要给出程序代码,只要结果。可以借组其他工具(计算器、Excel)求解结果。结果四舍五入保留两位小数,如果不知道如何进行输出控制,可以直接输出结果,再人工观察,给出结果。

 

 【程序代码】 
 1 public class 蓝桥杯_第三届_土地测量 {
 2 
 3     /**
 4      * @param args
 5      */
 6     public static void main(String[] args) {
 7         // TODO Auto-generated method stub
 8         double AB = 52.1;
 9         double BC = 57.2;
10         double CD = 43.5;
11         double DE = 51.9;
12         double EA = 33.4;
13         double EB = 68.2;
14         double EC = 71.9;
15         double area=0;
16         double s,a;
17         
18         s=(AB+EA+EB)/2;
19         a=Math.sqrt(s*(s-AB)*(s-EA)*(s-EB));
20         area+=a;
21         
22         s=(DE+CD+EC)/2;
23         a=Math.sqrt(s*(s-DE)*(s-CD)*(s-EC));
24         area+=a;
25         
26         s=(EB+EC+BC)/2;
27         a=Math.sqrt(s*(s-EB)*(s-EC)*(s-BC));
28         area+=a;
29         
30         System.out.printf("%.2f",area);
31     }
32 
33 }

 

【运行结果】
3789.86

 

【评分标准】

3789.86

满分2分

结果正确,但没有按要求保留两位小数的,扣1分。

  

【相关知识】

Java中printf的使用 

Java中的Math类

 

 

posted @ 2015-03-23 12:08  #码农#  阅读(198)  评论(0编辑  收藏  举报