从键盘上输入三个代表三条线段长度的实数,由一个函数Triangle()判断这三条线段所组成的三角形属于什么类型(不等边、等腰、等边或不构成三角形);如果能构成三角形,由求三角形面积函数计算其面积(取两位小数)。
提示1:三角形条件:若输入的三条边中存在一条边的长度大于或等于另外两条边的长度之和,则这三条边不能组成一个三角形。
提示2:海伦定理:假设三角形的三边为a、b、c,记p=(a+b+c)/2,则三角形的面积S=
(2)主函数:从键盘上输入三个实数,然后调用判别函数Triangle()实现三角形类型判别,再调用面积函数Area()计算三角形面积。
#include<stdio.h>
#include<math.h>
int Triangle(float a,float b,float c){
if(a+b>c&&a+c>b&&b+c>a){
if(a==b==c){
printf("该三角形是等边三角形");
}
if(a==b!=c||b==c!=a||a==c!=b){
printf("该三角形是等边三角形");
}
if(a!=b&&a!=c&&b!=c){
printf("该三角形不是等边三角形,是普通三角形");
}
return 1;
}
else if(a+b<c||a+c<b||b+c<a){
printf("不能构成三角形");
return 0;
}
}
int Area(float a,float b,float c){
float s;
float p=(a+b+c)/2;
s=sqrt((p-a)*(p-b)*(p-c));
return s;
}
int main(){
float a,b,c;
float s;
scanf("%f%f%f",&a,&b,&c);
Triangle(a,b,c);
if(Triangle){
Area(a,b,c);
printf("三角形的面积为%f",s);
}
return 0;
}