锐角三角形条件应该用且连接,因为钝角三角形、直角三角形也有两个角是锐角。
改好的代码:
```cpp
#include <bits/stdc++.h>
using namespace std;
int main() {
long long a,b,c;
cin >>a>>b>>c;
if(a+b<=c||a+c<=b||b+c<=a){
cout<<"Not triangle";
return 0;
}
if(pow(a,2)+pow(b,2)==pow(c,2)||pow(a,2)+pow(c,2)==pow(b,2)||pow(c,2)+pow(b,2)==pow(a,2)) cout<<"Right triangle"<<endl;
if((pow(a,2)+pow(b,2)<pow(c,2))||(pow(a,2)+pow(c,2)<pow(b,2))||(pow(c,2)+pow(b,2)<pow(a,2))) cout<<"Obtuse triangle"<<endl;
if(pow(a,2)+pow(b,2)>pow(c,2)&&pow(a,2)+pow(c,2)>pow(b,2)&&pow(c,2)+pow(b,2)>pow(a,2)) cout<<"Acute triangle"<<endl;
if(a==b||b==c||a==c) cout<<"Isosceles triangle"<<endl;
if(a==b&&b==c) cout<<"Equilateral triangle"<<endl;
return 0;
}
```
by UchihaCelery @ 2022-11-30 17:53:04
@[hanchuting](/user/686083) 用冻僵的手改的啊……哥哥/姐姐互关呗?
by UchihaCelery @ 2022-11-30 17:54:19
@[hanchuting](https://www.luogu.com.cn/user/686083)
判断是否是锐角三角形时,三条边都要满足两条边的平方和大于另一条边的平方,因为钝、直角三角形有两个角是锐角,为了避免重复,可以将 `||` 换为 `&&`。
也可以将 `if` 换为 `else if`。
AC代码:
```
#include <bits/stdc++.h>
using namespace std;
int main() {
long long a,b,c;
cin >>a>>b>>c;
if(a+b<=c||a+c<=b||b+c<=a){
cout<<"Not triangle";
return 0;
}
if(pow(a,2)+pow(b,2)==pow(c,2)||pow(a,2)+pow(c,2)==pow(b,2)||pow(c,2)+pow(b,2)==pow(a,2)) cout<<"Right triangle"<<endl;
if((pow(a,2)+pow(b,2)<pow(c,2))||(pow(a,2)+pow(c,2)<pow(b,2))||(pow(c,2)+pow(b,2)<pow(a,2))) cout<<"Obtuse triangle"<<endl;
/* 也可以在这加 else */ if(pow(a,2)+pow(b,2)>pow(c,2)&&pow(a,2)+pow(c,2)>pow(b,2)&&pow(c,2)+pow(b,2)>pow(a,2)) cout<<"Acute triangle"<<endl;
if(a==b||b==c||a==c) cout<<"Isosceles triangle"<<endl;
if(a==b&&b==c) cout<<"Equilateral triangle"<<endl;
return 0;
}
```
求个关注QwQ
by Ggsddu_zzy @ 2022-11-30 18:32:41
@[UchihaCelery](/user/766986) 我才是个xxs(
by hct_ @ 2022-11-30 19:04:54
谢谢你们
by hct_ @ 2022-11-30 19:05:38
@[hanchuting](/user/686083)
不珂七
by Ggsddu_zzy @ 2022-11-30 19:57:08