C语言写海伦公式求三角形面积面积

&原理简介/海伦公式
中国宋代的数学家秦九韶也提出了“三斜求积术”,它与海伦公式基本一样。假设在平面内,有一个三角形,边长分别为a、b、c,三角形的面积S可由以下公式求得:S=√[p(p-a)(p-b)(p-c)]而公式里的p为半周长:p=(a+b+c)/2注:"Metrica"(《度量论》)手抄本中用s作为半周长,所以S=√[p(p-a)(p-b)(p-c)]&和S=√[s(s-a)(s-b)(s-c)]两种写法都是可以的,但多用p作为半周长。由于任何n边的多边形都可以分割成n-2个三角形,所以海伦公式可以用作求多边形面积的公式。比如说测量土地的面积的时候,不用测三角形的高,只需测两点间的距离,就可以方便地导出答案。
证明过程/海伦公式
证明(1)与海伦在他的著作"Metrica"(《度量论》)中的原始证明不同,在此我们用三角公式和公式变形来证明。设三角形的三边a、b、c的对角分别为A、B、C,则余弦定理为下述推导cosC&=&(a^2+b^2-c^2)/2abS=1/2*ab*sinC=1/2*ab*√(1-cos^2&C)=1/2*ab*√[1-(a^2+b^2-c^2)^2/4a^2*b^2]=1/4*√[4a^2*b^2-(a^2+b^2-c^2)^2]=1/4*√[(2ab+a^2+b^2-c^2)(2ab-a^2-b^2+c^2)]=1/4*√[(a+b)^2-c^2][c^2-(a-b)^2]=1/4*√[(a+b+c)(a+b-c)(a-b+c)(-a+b+c)]设p=(a+b+c)/2则p=(a+b+c)/2,p-a=(-a+b+c)/2,p-b=(a-b+c)/2,p-c=(a+b-c)/2,上式=√[(a+b+c)(a+b-c)(a-b+c)(-a+b+c)/16]& & =√[p(p-a)(p-b)(p-c)]所以,三角形ABC面积S=√[p(p-a)(p-b)(p-c)][2]证明⑵中国宋代的数学家秦九韶也提出了“三斜求积术”。它与海伦公式基本一样,其实在《九章算术》中,已经有求三角形公式“底乘高的一半”,在实际丈量土地面积时,由于土地的面积并不是三角形,要找出它来并非易事。所以他们想到了三角形的三条边。如果这样做求三角形的面积也就方便多了。但是怎样根据三边的长度来求三角形的面积?直到南宋,中国著名的数学家秦九韶提出了“三斜求积术”。秦九韶他把三角形的三条边分别称为小斜、中斜和大斜。“术”即方法。三斜求积术就是用小斜平方加上大斜平方,送到中斜平方,取相减后余数的一半,自乘而得一个数,小斜平方乘以大斜平方,送到上面得到的那个。相减后余数被4除,所得的数作为“实”,作1作为“隅”,开平方后即得面积。所谓“实”、“隅”指的是,在方程px&2=q,p为“隅”,q为“实”。以△、a,b,c表示三角形面积、大斜、中斜、小斜,所以q=1/4{a^2*c^2-[(a^2+c^2-b^2)/2&]^2}当P=1时,△&2=q,△=√1/4{a^2*c^2-[(a^2+c^2-b^2)/2&]^2}因式分解得△&^2=1/4[4a^2c^2-(a^2+c^2-b^2)^2]=1/4[(c+a)&^2-b&^2][b^&2-(c-a)^&2]=1/4(c+a+b)(c+a-b)(b+c-a)(b-c+a)
=1/4(c+a+b)(a+b+c-2b)(b+c+a-2a)(b+a+c-2c)=1/4[2p(2p-2a)(2p-2b)(2p-2c)]=p(p-a)(p-b)(p-c)由此可得:S△=√[p(p-a)(p-b)(p-c)]其中p=1/2(a+b+c)这与海伦公式完全一致,所以这一公式也被称为“海伦-秦九韶公式”。S=√1/4{a^2*c^2-[(a^2+c^2-b^2)/2&]^2}&.其中c&b&a.根据海伦公式,我们可以将其继续推广至四边形的面积运算。如下题:已知四边形ABCD为圆的内接四边形,且AB=BC=4,CD=2,DA=6,求四边形ABCD的面积这里用海伦公式的推广S圆内接四边形=&根号下(p-a)(p-b)(p-c)(p-d)&(其中p为周长一半,a,b,c,d,为4边)代入解得s=8√&3证明⑶在△ABC中∠A、∠B、∠C对应边a、b、c&O为其内切圆圆心,r为其内切圆半径,p为其半周长有tanA/2tanB/2+tanB/2tanC/2+tanC/2tanA/2=1r(tanA/2tanB/2+tanB/2tanC/2+tanC/2tanA/2)=r∵r=(p-a)tanA/2=(p-b)tanB/2=(p-c)tanC/2∴&r(tanA/2tanB/2+tanB/2tanC/2+tanC/2tanA/2)=[(p-a)+(p-b)+(p-c)]tanA/2tanB/2tanC/2=ptanA/2tanB/2tanC/2=r∴p^2r^2tanA/2tanB/2tanC/2=pr^3∴S^2=p^2r^2=(pr^3)/(tanA/2tanB/2tanC/2)=p(p-a)(p-b)(p-c)∴S=√p(p-a)(p-b)(p-c)证明⑷通过使用正弦定理和余弦定理的结合证明&(具体可以参考证明方法1)
&推广相关/海伦公式
介绍关于三角形的面积计算公式在解题中主要应用的有:设△ABC中,a、b、c分别为角A、B、C的对边,ha为a边上的高,R、r分别为△ABC外接圆、内切圆的半径,p&=&(a+b+c)/2,则S△ABC=1/2&aha=1/2&ab×sinC=&r&p=&2R^2sinAsinBsinC=&√[p(p-a)(p-b)(p-c)]其中,S△ABC&=√[p(p-a)(p-b)(p-c)]&就是著名的海伦公式,在希腊数学家海伦的著作《测地术》中有记载。关于三角形的面积计算公式在解题中主要应用的有:设△abc中,a、b、c分别为角a、b、c的对边,ha为a边上的高,r、r分别为△abc外接圆、内切圆的半径,p&=&(a+b+c),则s△abc&=&aha=&ab×sinc&=&r&p=&2r2sinasinbsinc其中,s△abc&=&就是著名的海伦公式,在希腊数学家海伦的著作《测地术》中有记载。海伦公式在解题中有十分重要的应用。一、&海伦公式的变形
二、的证明证一&勾股定理分析:先从三角形最基本的计算公式s△abc&=&aha入手,运用勾股定理推导出海伦公式。证明:如图ha⊥bc,根据勾股定理,得:x&=&y&=ha&=&=&=∴&s△abc&=&aha=&a×&=
此时s△abc为变形④,故得证。证二:斯氏定理分析:在证一的基础上运用斯氏定理直接求出ha。斯氏定理:△abc边bc上任取一点d,若bd=u,dc=v,ad=t.则t&2&=证明:由证一可知,u&=&v&=∴&ha&2&=&t&2&=&-∴&s△abc&=&aha&=&a&×此时为s△abc的变形⑤,故得证。证三:余弦定理分析:由变形②&s&=&可知,运用余弦定理&c2&=&a2&+&b2&-2abcosc&对其进行证明。证明:要证明s&=则要证s&===&ab×sinc此时s&=&ab×sinc为三角形计算公式,故得证。证四:恒等式分析:考虑运用s△abc&=r&p,因为有三角形内接圆半径出现,可考虑应用三角函数的恒等式。恒等式:若∠a+∠b+∠c&=180○那么tg&·&tg&+&tg&·&tg&+&tg&·&tg&=&1证明:如图,tg&=&①tg&=&②tg&=&③根据恒等式,得:+&+&=①②③代入,得:∴r2(x+y+z)&=&xyz&④如图可知:a+b-c&=&(x+z)+(x+y)-(z+y)&=&2x∴x&=&同理:y&=&z&=代入&④,得:r&2&·&=两边同乘以&,得:r&2&·&=两边开方,得:r&·&=左边r&·&=&r·p=&s△abc&右边为海伦公式变形①,故得证。
证五:半角定理半角定理:tg&=tg&=tg&=证明:根据tg&=&=&∴r&=&×&y&①同理r&=&×&z&②&r&=&×&x&③①×②×③,得:r3&=&×xyz应用由于在实际应用中,往往需计算四边形的面积,所以需要对海伦公式进行推广。由于三角形内接于圆,所以猜想海伦公式的推广为:在任意内接与圆的四边形ABCD中,设p=,则S四边形=现根据猜想进行证明。证明:如图,延长DA,CB交于点E。设EA&=&e&EB&=&f∵∠1+∠2&=180°&∠2+∠3&=180°∴∠1&=∠3&∴△EAB≌△ECD∴&=&=&=解得:e&=&①&f&=&②由于S四边形ABCD&=&S△EAB将①,②跟b&=&代入公式变形④,得到:∴S四边形ABCD&=所以,海伦公式的推广得证。
证明过程/海伦公式
证明⑴与海伦在他的著作"Metrica"(中的原始证明不同,在此我们用三角公式和公式变形来。设三角形的三边a、b、c的对角分别为A、B、C,则余弦定理为下述推导cosC&=&(a^2+b^2-c^2)/2abS=1/2*ab*sinC=1/2*ab*√(1-cos^2&C)=1/2*ab*√[1-(a^2+b^2-c^2)^2/4a^2*b^2]=1/4*√[4a^2*b^2-(a^2+b^2-c^2)^2]=1/4*√[(2ab+a^2+b^2-c^2)(2ab-a^2-b^2+c^2)]=1/4*√[(a+b)^2-c^2][c^2-(a-b)^2]=1/4*√[(a+b+c)(a+b-c)(a-b+c)(-a+b+c)]设p=(a+b+c)/2则p=(a+b+c)/2,p-a=(-a+b+c)/2,p-b=(a-b+c)/2,p-c=(a+b-c)/2,上式=√[(a+b+c)(a+b-c)(a-b+c)(-a+b+c)/16]& & =√[p(p-a)(p-b)(p-c)]所以,三角形ABC面积S=√[p(p-a)(p-b)(p-c)]证明⑵中国代的数学家秦九韶在1247年也提出了“三斜求积术”。它与海伦公式基本一样,其实在《九章算术》中,已经有求三角形“底乘高的一半”,在实际丈量土地面积时,由于土地的面积并不是三角形,要找出它来并非易事。所以他们想到了的三条边。如果这样做求三角形的面积也就方便多了。但是怎样根据三边的来求三角形的?直到南宋,中国著名的数学家提出了“三斜求积术”。秦九韶他把三角形的三条边分别称为小斜、中斜和大斜。“术”即方法。三斜求积术就是用小斜平方加上大斜平方,送到中斜平方,取相减后余数的一半,自乘而得一个数,小斜平方乘以大斜平方,送到上面得到的那个。相减后余数被4除,所得的作为“实”,作1作为“隅”,开后即得面积。所谓“实”、“隅”指的是,在方程px&2=q,p为“隅”,q为“实”。以△、a,b,c表示三角形、大斜、中斜、小斜,所以q=1/4{a^2*c^2-[(a^2+c^2-b^2)/2&]^2}当P=1时,△&2=q,△=√1/4{a^2*c^2-[(a^2+c^2-b^2)/2&]^2}因式分解得△&^2=1/4[4a^2c^2-(a^2+c^2-b^2)^2]=1/4[(c+a)&^2-b&^2][b^&2-(c-a)^&2]=1/4(c+a+b)(c+a-b)(b+c-a)(b-c+a)=1/4(c+a+b)(a+b+c-2b)(b+c+a-2a)(b+a+c-2c)=1/4[2p(2p-2a)(2p-2b)(2p-2c)]=p(p-a)(p-b)(p-c)由此可得:S△=√[p(p-a)(p-b)(p-c)]其中p=1/2(a+b+c)这与海伦公式完全一致,所以这一公式也被称为“海伦——秦九韶”。
海伦公式S=√1/4{a^2*c^2-[(a^2+c^2-b^2)/2&]^2}&.其中c&b&a.根据海伦,我们可以将其继续推广至四边形的面积运算。如下题:已知四边形ABCD为圆的内接,且AB=BC=4,CD=2,DA=6,求四边形ABCD的这里用海伦公式的S圆内接四边形=&根号下(p-a)(p-b)(p-c)(p-d)&(其中p为周长一半,a,b,c,d,为4边)代入解得s=8√&3证明⑶海伦公式在△ABC中∠A、∠B、∠C对应边a、b、cO为其内切圆,r为其内切半径,p为其半周长有tanA/2tanB/2+tanB/2tanC/2+tanC/2tanA/2=1r(tanA/2tanB/2+tanB/2tanC/2+tanC/2tanA/2)=r∵r=(p-a)tanA/2=(p-b)tanB/2=(p-c)tanC/2∴&r(tanA/2tanB/2+tanB/2tanC/2+tanC/2tanA/2)=[(p-a)+(p-b)+(p-c)]tanA/2tanB/2tanC/2=ptanA/2tanB/2tanC/2=r∴p^2r^2tanA/2tanB/2tanC/2=pr^3∴S^2=p^2r^2=(pr^3)/(tanA/2tanB/2tanC/2)=p(p-a)(p-b)(p-c)∴S=√p(p-a)(p-b)(p-c)证明⑷通过使用正弦定理和的结合证明&(具体可以参考证明方法1)
推广/海伦公式
关于三角形的面积公式在解题中主要的有:设△ABC中,a、b、c分别为角A、B、C的,ha为a边上的高,R、r分别为△ABC外接圆、内切圆的半径,p&=&(a+b+c)/2,则S△ABC=1/2&aha=1/2&ab×sinC=&r&p=&2R^2sinAsinBsinC=&√[p(p-a)(p-b)(p-c)]其中,S△ABC&=√[p(p-a)(p-b)(p-c)]&就是的海伦公式,在数学家海伦的著作《测地术》中有。关于三角形的面积计算公式在解题中主要应用的有:设△abc中,a、b、c分别为角a、b、c的对边,ha为a边上的高,r、r分别为△abc外接圆、内切圆的,p&=&(a+b+c),则s△abc&=&aha=&ab×sinc&=&r&p=&2r2sinasinbsinc&其中,s△abc&=&就是著名的海伦公式,在数学家海伦的著作《测地术》中有记载。海伦公式在解题中有十分重要的应用。一、&海伦公式的s==&①=&②=&③=&④=&⑤二、&的证明证一&勾股定理分析:先从三角形最基本的计算公式s△abc&=&aha入手,运用勾股推导出海伦公式。:如图ha⊥bc,根据勾股,得:x&=&y&=ha&=&=&=∴&s△abc&=&aha=&a×&=此时s△abc为变形④,故得证。证二:斯氏分析:在证一的基础上运用斯氏直接求出ha。斯氏定理:△abc边bc上任取一点d,若bd=u,dc=v,ad=t.则t&2&=:由证一可知,u&=&v&=∴&ha&2&=&t&2&=&——∴&s△abc&=&aha&=&a&×=此时为s△abc的变形⑤,故得证。证三:余弦分析:由变形②&s&=&可知,运用&c2&=&a2&+&b2&——2abcosc&对其进行。证明:要s&=则要证s&===&ab×sinc此时s&=&ab×sinc为三角形计算公式,故得证。证四:恒等式分析:考虑运用s△abc&=r&p,因为有三角形内接圆半径出现,可考虑应用三角函数的恒等式。恒等式:若∠a+∠b+∠c&=180○那么tg&·&tg&+&tg&·&tg&+&tg&·&tg&=&1:如图,tg&=&①tg&=&②tg&=&③根据恒,得:+&+&=①②③代入,得:∴r2(x+y+z)&=&xyz&④如图可知:a+b——c&=&(x+z)+(x+y)——(z+y)&=&2x∴x&=&同理:y&=&z&=代入&④,得:r&2&·&=两边同乘以&,得:r&2&·&=两边开方,得:r&·&=左边r&·&=&r·p=&s△abc&右边为海伦公式变形①,故得证。证五:半角定理:tg&=tg&=tg&=证明:根据tg&=&=&∴r&=&×&y&①同理r&=&×&z&②&r&=&×&x&③①×②×③,得:r3&=&×xyz
应用/海伦公式
海伦公式证明证一:勾股定理海伦勾股定理证明海伦公式证二:斯氏定理证三:分析:由变形②&S&=&可知,运用余弦斯氏定理证明海伦公式定理&c^2&=&a^2&+&b^2&——2abcosC&对其进行证明。证明:要S&=则要证S&=&ab×sinC此时S&=&(ab×sinC)/2为三角形计算,故得证。海伦公式证四:恒等式恒证恒等式证明⑵证五:半角∵由证一,x&=&=&——c&=&p——cy&=&=&——a&=&p——az&=&=&——b&=&p——b∴&r3&=&∴&r&=∴S△ABC&=&r·p&=&故得证。
海伦公式推广由于在实际应用中,往往需四边形的,所以需要对海伦公式进行推广。由于三角形内接于,所以猜想海伦公式的推广为:在任意内接与圆的四边形ABCD中,设p=,则S四边形=现根据猜想进行。证明:如图,延长DA,CB交于点E。设EA&=&e&EB&=&f∵∠1+∠2&=180°&∠2+∠3&=180°
海伦公式∴∠1&=∠3&∴△EAB≌△ECD∴&=&=&=解得:e&=&①&f&=&②由于S四边形ABCD&=&S△EAB将①,②跟b&=&代入公式变形④,得到: ∴S四边形ABCD&=所以,海伦公式的推广得证
例题/海伦公式
海伦公式C语言版:如图四边形ABCD内接于圆O中,SABCD&=,AD&=&1,AB&=&1,CD&=&2.求:四边形可能为。解:设BC&=&x由海伦公式的推广,得:(4——x)(2+x)2&=27x4——12x2——16x+27&=&0x2(x2—1)——11x(x——1)——27(x——1)&=&0(x——1)(x3+x2——11x——27)&=&0x&=&1或x3+x2——11x——27&=&0当x&=&1时,AD&=&BC&=&1∴&四边形可能为等腰。在中实现(VBS):dim&a,b,c,p,q,sa=inputbox("请输入三角形第一边的长度")b=inputbox("请输入三角形第二边的长度")c=inputbox("请输入三角形第三边的长度")a=1*ab=1*bc=1*cp=(a+b+c)*(a+b-c)*(a-b+c)*(-a+b+c)q=sqr(p)s=(1/4)*qmsgbox("三角形面积为"&s),,"三角形"在VC中实现#include&stdio.h&#include&math.h&main()int&a,b,c,s;printf("输入第一边\n");scanf("%d",&a);printf("输入第二边\n");scanf("%d",&b);printf("输入第三边\n");scanf("%d",&c);s=(a+b+c)/2;printf("面积为:%f\n",sqrt(s*(s-a)*(s-b)*(s-c)));C#版:using&Susing&System.Collections.Gusing&System.Tnamespace&CST09078class&Programstatic&void&Main(string[]&args)double&a,b,c,p,s;Console.WriteLine("输入第一条边的:\n");a&=&Convert.ToDouble(Console.ReadLine());Console.WriteLine("输入第二条边的:\n");b&=&Convert.ToDouble(Console.ReadLine());Console.WriteLine("输入第三条边的长度:\n");c&=&Convert.ToDouble(Console.ReadLine());p&=(a+b+c)/2;s&=&Math.Sqrt(p*(p&-&a)*(p&-&b)*(p&-&c));Console.WriteLine("我算出来的是{0}",s);Console.Read();pascal版:program&x;vara,b,c:function&xb(x,y,z:real):varp,s:beginp:=(x+y+z)/2;s:=sqrt(p*(p-x)*(p-y)*(p-z));xb:=s;beginreadln(a,b,c);writeln(xb(a,b,c):0:2);end.&&
万方数据期刊论文
六盘水师范高等专科学校学报
万方数据期刊论文
万方数据期刊论文
中学数学杂志(高中版)
&|&相关影像
互动百科的词条(含所附图片)系由网友上传,如果涉嫌侵权,请与客服联系,我们将按照法律之相关规定及时进行处理。未经许可,禁止商业网站等复制、抓取本站内容;合理使用者,请注明来源于。
登录后使用互动百科的服务,将会得到个性化的提示和帮助,还有机会和专业认证智愿者沟通。
此词条还可添加&
编辑次数:21次
参与编辑人数:15位
最近更新时间: 10:47:13
申请可获得以下专属权利:
贡献光荣榜扫二维码下载作业帮
拍照搜题,秒出答案,一键查看所有搜题记录
下载作业帮安装包
扫二维码下载作业帮
拍照搜题,秒出答案,一键查看所有搜题记录
C语言编程,已知三角形的三边长a,b,c,计算求三角形面积的公式为:s=1/2(a+b+c),area=根号下[s(s-a)(s-b)(s-c)]要求编写程序,从键盘输入a,b,c的值,计算并输出三角形的面积.[提示:程序运行时应保证输入的a,b,c值满足三角形成立的条件,这样计算得到的三角形面积才有意义.另外,将面积计算的数学公式写成合法的C语言表达式如下:area = sqrt(s*(s-a)*(s-b)*(s-c))注意写成:area = sqrt(s(s-a)(s-b)(s-c))是不错误的.= ,写成如下C语言表达式:s = 0.5*(a+b+c)
浑浑噩噩gcTT
扫二维码下载作业帮
拍照搜题,秒出答案,一键查看所有搜题记录
#include#includevoid main(){float a,b,c,s,printf("依次输入a,b,c(空格识别一个数):");scanf("%f%f%f,",&a,&b,&c);s=(float)0.5*(a+b+c);area = (float)sqrt(s*(s-a)*(s-b)*(s-c));printf("面积为:%f",area);}代码如上 很简单的 自己多动手
为您推荐:
其他类似问题
扫描下载二维码扫二维码下载作业帮
拍照搜题,秒出答案,一键查看所有搜题记录
下载作业帮安装包
扫二维码下载作业帮
拍照搜题,秒出答案,一键查看所有搜题记录
C++ 编程 关于用海伦公式计算三角形面积的一个程序#includevoid main (){ int a,b,c,s,area,d;scanf("%d%d%d",&a,&b,&c);s=(a+b+c)/2;d=s*(s-a)*(s-b)*(s-c);area=sqrt(d);if (a+b>c,b+c>a,a+c>b)printf("三角形面积=%d\n",area);else printf("无法构成三角形\n");}我是初学者,刚刚接触,编的程序是错误的,错误一是sqrt公式那里的运用,还有就是总是说找不到与else对应的if.
扫二维码下载作业帮
拍照搜题,秒出答案,一键查看所有搜题记录
#include#includevoid main (){ float a,b,c,d;scanf("%f%f%f",&a,&b,&c);if (a+b>c&&b+c>a&&a+c>b)//&&代表逻辑和{s=(a+b+c)/2;d=s*(s-a)*(s-b)*(s-c);area=sqrt(d); printf("三角形面积=%d\n",area);}else {printf("无法构成三角形\n");}}
为您推荐:
其他类似问题
扫描下载二维码}

我要回帖

更多关于 海伦公式求四边形面积 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信