码迷,mamicode.com
首页 > 编程语言 > 详细

浙大版《C语言程序设计(第3版)》题目集 习题3-5 三角形判断 (15 分)

时间:2019-02-03 21:01:31      阅读:591      评论:0      收藏:0      [点我收藏+]

标签:inner   view   数学   inline   int   内心   lis   答案   scripts   

习题3-5 三角形判断 (15 分)

给定平面上任意三个点的坐标(x1,y1)、(x2,y2)、(x3,y3),检验它们能否构成三角形。1??,y?1??)、(x?2??,y?2??)、(x?3??,y?3??),检验它们能否构成三角形

输入格式:

输入在一行中顺序给出六个[?100,100]范围内的数字,即三个点的坐标x1、y1、x2、y2、x3、y3。(。x1,y1)、(x2,y2)、(x3,y3)1??、y?1??、x?2??、y?2??、x?3??、y?3??。

输出格式:

若这3个点不能构成三角形,则在一行中输出“Impossible”;若可以,则在一行中输出该三角形的周长和面积,格式为“L = 周长, A = 面积”,输出到小数点后2位。

输入样例1:

4 5 6 9 7 8

输出样例1:

L = 10.13, A = 3.00

输入样例2:

4 6 8 12 12 18

输出样例2:

Impossible


思路:先用两点间距离公式求出三边边长。(d=√[(x? - x?)2+(y? - y?)2])
   再用海伦公式判断是否能组成三角形,并求出面积。
  
代码如下:
#include<stdio.h>
#include<math.h>
int main()
{
    double x1 ,x2, x3, y1, y2, y3, a, b, c, L, A, s, delta;
	
    scanf("%lf%lf%lf%lf%lf%lf",&x1,&y1,&x2,&y2,&x3,&y3);
    a=sqrt(pow(x1-x2,2)+pow(y1-y2,2));//两点间距离公式,下同。
    b=sqrt(pow(x2-x3,2)+pow(y2-y3,2));
    c=sqrt(pow(x1-x3,2)+pow(y1-y3,2));
    s=(a+b+c)/2;
    delta=(s-a)*(s-b)*(s-c);//用delta判别是否能成为三角形
    if(delta<=0) 
    printf("Impossible\n"); else {     L=2*s;     A=sqrt(s*delta);     printf("L = %.2lf, A = %.2lf\n",L,A); } return 0; }

 科普:海伦-秦九韶公式

    希羅公式Heron‘s formulaHero‘s formula),又译希罗公式希伦公式海龙公式,亦称“海伦-秦九韶公式”。此公式是亚历山大港的海伦发现的,并可在其于公元60年的《Metrica》中找到其证明,利用三角形的三条边长来求取三角形面积。亦有认为早于阿基米德已经懂得这条公式,而由于《Metrica》是一部古代数学知识的结集,该公式的发现时期很有可能先于海伦的著作。

    假设有一个三角形,边长分别为技术图片,三角形的面积技术图片可由以下公式求得:技术图片,其中技术图片。中国南宋末年数学家秦九韶发现或知道等价的公式,其著作《数书九章》卷五第二题即三斜求积。“问沙田一段,有三斜,其小斜一十三里,中斜一十四里,大斜一十五里,里法三百步,欲知为田几何?”答曰:“三百十五顷.”其术文是:“以小斜幂并大斜幂,减中斜幂,余半之,自乘于上;以小斜幂乘大斜幂,减上,余四约之为实,……开平方得积。”若以大斜记为技术图片,中斜记为技术图片,小斜记为技术图片,秦九韶的方法相当于下面的一般公式:

                          技术图片,其中技术图片

像其他中国古代的数学家一样,他的方法没有证明。根据现代数学家吴文俊的研究,秦九韶公式可由出入相补原理得出。一些中国学者将这个公式称为秦九韶公式

由于任何技术图片边的多边形都可以分割成技术图片个三角形,所以海伦公式可以用作求多边形面积的公式。比如说测量土地的面积的时候,不用测三角形的高,只需测两点间的距离,就可以方便地导出答案。

各种证明如下:

利用三角公式和代数式变形来证明

与海伦在他的著作《Metrica》中的原始证明不同,在此我们用三角公式和公式变形来证明。设三角形的三边技术图片的对角分别为技术图片,则余弦定理

                                  技术图片

利用和平方、差平方、平方差等公式,从而有

技术图片
技术图片

利用勾股定理和代数式变形来证明

技术图片
技术图片
技术图片
技术图片
技术图片
技术图片
技术图片
技术图片

用旁心来证明

技术图片中,技术图片

技术图片为内心,技术图片为三旁切圆。

技术图片

技术图片四点共圆,并设此圆为圆技术图片

  1. 技术图片做铅直线交技术图片技术图片,再延长技术图片,使之与圆技术图片交于技术图片点。再过技术图片做铅直线交技术图片技术图片点。
  2. 先证明技术图片为矩形,技术图片,又技术图片(圆周角相等)。技术图片为矩形。因此,技术图片
  3. 技术图片内切圆半径技术图片技术图片旁切圆半径技术图片。且易知技术图片。由圆幂性质得到:技术图片。故技术图片技术图片

 

来源:维基百科-海伦-秦九韶公式(https://zh.wikipedia.org/wiki/%E6%B5%B7%E4%BC%A6%E5%85%AC%E5%BC%8F)

 

 

浙大版《C语言程序设计(第3版)》题目集 习题3-5 三角形判断 (15 分)

标签:inner   view   数学   inline   int   内心   lis   答案   scripts   

原文地址:https://www.cnblogs.com/IT-Lead-The-World/p/10350950.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!