三角形判定
#include<iostream>
using namespace std;
int main()
{
double a,b,c;
cout<<"请分别输入a,b,c的值(每输入一个值后回车键):"<<endl;
cin>>a>>b>>c;
cout<<"a="<<a<<'\t'<<"b="<<b<<'\t'<<"c="<<c<<endl;
if(a+b>c && a+c>b && b+c>a){
cout<<"它们能够构成三角形"<<endl;
if(a==b && b==c) cout<<"a b c构成的图形为等边三角形";
else if(a-b==0 && b!=c) cout<<"构成的三角形为等腰三角形";
else if(a-c==0 && a!=b) cout<<"构成的三角形为等腰三角形";
else if(b-c==0 && c!=a) cout<<"构成的三角形为等腰三角形";
else if(a!=b && b!=c && a!=c) cout<<"构成的三角形为一般三角
形";
}
else cout<<"a,b,c不能构成三角形";
cout<<endl;
return 0;
}
上面的程序运行正确,而
else if(a-b==0 && b!=c) cout<<"构成的三角形为等腰三角形";
else if(a-c==0 && a!=b) cout<<"构成的三角形为等腰三角形";
else if(b-c==0 && c!=a) cout<<"构成的三角形为等腰三角形";
改成 else if(a==b!=c || b==c!=a ||c==a!=b) cout<<"构成的三角形为等腰三角形";
就不行?