66分,#4 #5 WA,其余正确 #求助

P5717 【深基3.习8】三角形分类

你的代码对于一个等边三角形会同时输出等边和等腰,没有加else导致的。
by boringctas @ 2024-03-13 13:58:19


@[Bubbles2023](/user/982176)
by boringctas @ 2024-03-13 13:58:34


但是这个不是重点,重点是直角,钝角,锐角三角形你的代码会统一输出为锐角三角形。
by boringctas @ 2024-03-13 14:00:36


@[boringctas](/user/559037) 谢谢,那应该怎么修改呢? ||但是这个不是重点,重点是直角,钝角,锐角三角形你的代码会统一输出为锐角三角形。
by Bubbles2023 @ 2024-03-13 16:32:29


@[Bubbles2023](/user/982176) 没看清题目,第一个回复是错的,代码修改后如下: ```cpp #include<bits/stdc++.h> using namespace std; int a,b,c; int n[5]; int main(){ cin>>a>>b>>c; n[1]=a,n[2]=b,n[3]=c; sort(n+1,n+4); if(!(n[1]+n[2]<=n[3])) { if((n[1]*n[1]+n[2]*n[2])==n[3]*n[3]) cout<<"Right triangle\n"; //直角 else if((n[1]*n[1]+n[2]*n[2])>n[3]*n[3]) cout<<"Acute triangle\n"; //锐角 else if((n[1]*n[1]+n[2]*n[2])<n[3]*n[3]) cout<<"Obtuse triangle\n"; //钝角 if(a==b||b==c||a==c) cout<<"Isosceles triangle\n"; //等腰 if(a==b&&b==c) cout<<"Equilateral triangle\n"; //等边 } else cout<<"Not triangle\n"; //无法构成 return 0; } ```
by boringctas @ 2024-03-13 16:39:41


``` #include <bits/stdc++.h> using namespace std; int main() { long long a,b,c; cin>>a>>b>>c; if(a>b) swap(a,b); if(b>c) swap(b,c); if(a>c) swap(a,c); if(a+b<=c) cout<<"Not triangle"; else { if(a*a+b*b==c*c) cout<<"Right triangle"<<"\n"; if(a*a+b*b>c*c) cout<<"Acute triangle"<<"\n"; if(a*a+b*b<c*c) cout<<"Obtuse triangle"<<"\n"; if(a==b || b==c || a==c) cout<<"Isosceles triangle"<<"\n"; if(a==b && b==c ) cout<<"Equilateral triangle"<<"\n"; } return 0; } ```
by wwwee @ 2024-03-14 12:12:47


这是的\( ̄︶ ̄*\))
by wwwee @ 2024-03-14 12:13:24


@[boringctas](/user/559037) 嗯呐,好,谢谢你~Thanks♪(・ω・)ノ
by Bubbles2023 @ 2024-03-14 12:35:27


@[wwwee](/user/1046423) 嗯呐,好,谢谢你~Thanks♪(・ω・)ノ
by Bubbles2023 @ 2024-03-14 12:35:37


已解决,谢谢boringctas&wwwee
by Bubbles2023 @ 2024-03-14 12:36:22


|