编写一个程序实现:从键盘输入三角形的3条边长,判断它能构成怎样的三角形,还是不能构成三角形。C++的。

发布网友 发布时间:2022-04-23 15:53

我来回答

2个回答

热心网友 时间:2023-10-08 22:46

楼上的基本可以,不过漏了点东西,构成三角形还有个条件是任意两边之差小于第三边,另外没有打印能构成普通三角形的情况,我改进了下
#include<iostream>
#include <math.h>
using namespace std;
void main(){
cout<<"输入三边边长:"<<endl;
double a,b,c;
cin>>a;
cin>>b;
cin>>c;
if(a+b>c&&a+c>b&&b+c>a&&fabs(a-b)<c&&fabs(a-c)<b&&fabs(b-c)<a){
if(a==b&&b==c){
cout<<"可构成等边三角形:"<<endl;
}
else if(a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a){
if(a==b||b==c||a==c){
cout<<"可构成等腰直角三角形:"<<endl;
}
else cout<<"可构成直角三角形"<<endl;
}
else if(a==b||a==c||b==c){
cout<<"可构成等腰三角形"<<endl;
}
else
{
cout << "可构成普通三角形" << endl;
}
}
else cout<<"不能构成三角形"<<endl;
}

热心网友 时间:2023-10-08 22:47

时间匆忙,没有调试,你试一下吧!不行再告诉我!

#include<iostream>
using namespace std;
void main(){
cout<<"输入三边边长:"<<endl;
double a,b,c;
cin>>a;
cin>>b;
cin>>c;
if(a+b>c&&a+c>b&&b+c>a){
if(a==b&&b==c){
cout<<"可构成等边三角形:"<<endl;
}
if(a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a){
if(a==b||b==c||a==c){
cout<<"可构成等腰直角三角形:"<<endl;
}
else cout<<"可构成直角三角形"<<endl;
}
else if(a==b||a==c||b==c){
cout<<"可构成等腰三角形"<<endl;
}
}
else cout<<"不能构成三角形"<<endl;
}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com