问题描述
根据输入的三角形的三条边判断三角形的类型,并输出他的面积和类型
思想简述
首先分析三角形的类型
看程序框图分支部分要用if语句来操作
求面积要用到的海伦公式
代码展示
#include<stdio.h>
#include<math.h>//因为要用到sqrt根号这个函数所以要引用这个头文件
int main()
{
float a,b,c;//用来储存三角形三边的信息
float p;//计算面积用到海伦公式的变量
float s;//储存面积的变量
printf("请输入三角形三边信息");
scanf("%f%f%f",&a,&b,&c);
if(a+b>c||a+c>b||b+c>a)//满足两边之和大于第三边
{ printf("这三条边可以组成三角形\n");
p=(a+b+c)/2;//海伦公式计算三角形面积
s=sqrt(p*(p-a)*(p-b)*(p-c));
printf("三角形的面积是%f\n",s);//输出三角形面积
//判断三角形的类型
if(a==b||a==c||b==c)//等腰三角形和等腰直角三角形
{
if(a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a)
printf("是等腰直角三角形");
else if(a==b&&b==c)//注意这里不是a==b==c
printf("是等边三角形");
else
printf("是等腰三角形");
}
else if(a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a)
printf("是直角三角形");
else
printf("是普通三角形");
}
else //不满足两边之和大于第三边的不是三角形
{ printf("这三条边不能组成三角形");
}
}