C语言程序——输入三角形的边长求面积
前言
从键盘上输入三个数据,判断是否可以构成三角形,同时判断是否为等腰三角形以及等边三角形,计算三角形的面积。若不能构成三角形,显示输入边长错误。
一、输入三角形的边长求面积.
三个数据可以构成三角形三边的条件是任意两边之和大于第三边,设三边分别为a、b和c ,首先三边必须为正数,且满足a+b>c、a+c>b和b+c>a,那么a、b和c 三个数据可以作为三角形的三边。构成三角形,判断是否由两边相等或者满足勾股定理,这样可以判断三角形是否为等腰三角形还是直角三角形。
程序思路:
1、数据:输入三角形的三条边。
2、操作:判断输入的数据是否满足三角形的条件,以及是否为等腰三角形或直角三角形或等边三角形。根据海伦公式计算三角形的面积。
3、输出:输出三角形的形态,以及三角形的面积。
二、程序实例
1.程序代码
#include <stdio.h>
#include <math.h>
void main()
{
float a,b,c;
float s,area;
printf("input edges of triangle:");
scanf("%f %f %f",&a,&b,&c);
if ( a>0 && b>0 && c>0 )
{
s=(a+b+c)/2;
if( a+b>c && a+c>b && b+c>a )
{if (abs(a-b)<c && abs(a-c)<b && abs(b-c)<a )
{if(a==b||a==c||c==b)
printf("n an isosceles triangle , area is :");
else if (a*a+b*b==c*c||a*a+c*c==b*b||c*c+b*b==a*a)
printf("n a right triangle area is: ");
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf("%fn",area);
}
}
else printf("is not triangle edge.n");
}
else printf("error.n");
}
2.运行结果
3.结果分析
本程序的求解三角形的面积运用了海伦公式:
a
r
e
a
=
s
(
s
−
a
)
(
s
−
b
)
(
s
−
c
)
area=sqrt{s(s-a)(s-b)(s-c)}
area=s(s−a)(s−b)(s−c)
,其中
s
=
1
/
2
(
a
+
b
+
c
)
s=1/2(a+b+c)
s=1/2(a+b+c)。在程序开头需要包含数学库。
三、拓展应用
本程序可以应对任意输入的三个数据作为三角形的三条边的输入,在程序编写是就需要考虑到各种情况,程序的编写需要解决具体的问题,但是问题需要将其限定在可以解决的范围,不然程序也毫无意义。
总结
以上就是今天要讲的内容,本文仅仅简单介绍编写输入三角形的边长求面积的C语言程序。