这里将介绍如何根据三角形的三条边判断三角形类型,并输出其类型与面积的方法。
算法思想
首先输入三条边的长度,先判断任意两边之和是否大于第三边,若小于,则不能构成三角形。
接着依次判断下列条件:
- 三角形三边是否相等,成立则为等边三角形。
- 三角形任意两边是否相等,成立则为等腰三角形。
- 三角形任意一边的平方是否等于另外两边平方和,若成立则为直角三角形。
- 若不满足上述三种条件,则为普通三角形。
面积计算方法:由于只知道三角形的三边长,所以采用海伦公式进行计算。
代码如下:
#include<stdio.h>
#include<math.h>
int main()
{
float a,b,c;
float p,S;
printf("请输入三角形的三边长:");
scanf("%f %f %f",&a,&b,&c);
if( a+b>c&&a+c>b&&b+c>a )
{
p=(a+b+c)/2;
S=sqrt(p*(p-a)*(p-b)*(p-c));
printf("三角形的面积为%f\n",S);
if( a==b&&a==c )
{
printf("三角形为等边三角形");
}else if( a==b||a==c||b==c )
{
printf("三角形为等腰三角形");
}else if( (a*a==b*b+c*c)||(b*b==a*a+c*c)||(c*c==a*a+b*b) )
{
printf("三角形为直角三角形");
}else
{
printf("三角形是普通三角形");
}
}else
{
printf("不能构成三角形");
}
return 0;
}
代码第二行实际上是引入math库,我们便可以使用sqrt()函数进行开平方根操作。逻辑运算符“&&”相当于“且”,“||”相当于“或”。