只要遵循第一个先和第二个比较,第二个在和第三个比较,就不用再第一个和第三个比较了
- 三个都比:
#include <iostream>
#include <cmath>
#include<algorithm>
using namespace std;
int main()
{
double a,b,c;
cin >> a >> b>>c;
if(c>b)
{
double t=b;
b=c;
c=t;
}
if (b>a){
double t=a;
a=b;
b=t;
}
if(c>a){
double t=a;
a=c;
c=t;
}
if (a>=b+c){
cout<<"NAO FORMA TRIANGULO";
}
else{
if(pow(a,2)==pow(b,2)+pow(c,2)){
cout<<"TRIANGULO RETANGULO"<<endl;
}
else if (pow(a,2)>pow(b,2)+pow(c,2)){
cout<<"TRIANGULO OBTUSANGULO"<<endl;
//cout<<pow(a,2)<<pow(b,2)+pow(c,2);
}
else if (pow(a,2)< pow(b,2)+pow(c,2)){
cout<<"TRIANGULO ACUTANGULO"<<endl;
// cout<<pow(a,2)<<" "<<pow(b,2)+pow(c,2);
}
}
if (a==b&&b==c){
cout<<"TRIANGULO EQUILATERO";
}
if((a==b&&b!=c)||(a==c&&b!=c)||(b==c&&c!=a)){
cout<<"TRIANGULO ISOSCELES";
}
return 0;
}
2. 把三个删了:
#include <iostream>
#include <cmath>
#include<algorithm>
using namespace std;
int main()
{
double a,b,c;
cin >> a >> b>>c;
if(c>b)
{
double t=b;
b=c;
c=t;
}
if (b>a){
double t=a;
a=b;
b=t;
}
// if(c>a){
// double t=a;
// a=c;
// c=t;
// }
if (a>=b+c){
cout<<"NAO FORMA TRIANGULO";
}
else{
if(pow(a,2)==pow(b,2)+pow(c,2)){
cout<<"TRIANGULO RETANGULO"<<endl;
}
else if (pow(a,2)>pow(b,2)+pow(c,2)){
cout<<"TRIANGULO OBTUSANGULO"<<endl;
//cout<<pow(a,2)<<pow(b,2)+pow(c,2);
}
else if (pow(a,2)< pow(b,2)+pow(c,2)){
cout<<"TRIANGULO ACUTANGULO"<<endl;
// cout<<pow(a,2)<<" "<<pow(b,2)+pow(c,2);
}
}
if (a==b&&b==c){
cout<<"TRIANGULO EQUILATERO";
}
if((a==b&&b!=c)||(a==c&&b!=c)||(b==c&&c!=a)){
cout<<"TRIANGULO ISOSCELES";
}
return 0;
}
仍然过了: