当前位置: 首页 > 工具软件 > Jsmtpd > 使用案例 >

C++输入三角形三边判断三角形类型

韩峰
2023-12-01

问题描述

编写程序,输入三角形三条边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;
}
 类似资料: