编写程序,输入三角形三条边a、b和c(假设为实数),判断它们能否构 成三角形。若不能构成三角形,则输出“Don't make a triangle”;若 能构成三角形,进一步判断是何种三角形(等边三角形、等腰三角形、直 角三角形、等腰直角三角形还是一般三角形等),并输出相应的信息 (Equilateral triangle、Isosceles triangle、Right triangle、Isosceles Right triangle、General triangle)。
三角形三条边a、b和c,以空格间隔。
若不能构成三角形,输出“Don't make a triangle”。否则输出相应的 三角形类型信息。
【输入示例1】 1 2 3 【输出示例1】 Don't make a triangle 【输入示例2】 4 2 5 【输出示例2】
General triangle
#include<iostream>
#include<cmath>
using namespace std;
int main(){
double a,b,c;
double d=0.001;
cin>>a>>b>>c;
if(a+b>c && a+c>b && b+c>a ){
if(fabs(a*a+b*b-c*c)<d||fabs(a*a+c*c-b*b)<d||fabs(b*b+c*c-a*a)<d){
if(fabs(a-b)<d||fabs(a-c)<d||fabs(b-c)<d)
cout<<"Isosceles Right triangle";
else
cout<<"Right triangle";
}
else if(fabs(a-b)<d||fabs(a-c)<d||fabs(b-c)<d){
if(fabs(a-b)<d && fabs(b-c)<d)
cout<<"Equilateral triangle";
else
cout<<"Isosceles triangle";
}
else
cout<<"General triangle";
}
else
cout<<"Don't make a triangle";
return 0;
}