为什么只有66分 qwp

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

@[hanyaxin](/user/790535) max得赋值吧
by The_Wandering_Earth @ 2022-12-14 18:15:13


@[hanyaxin](/user/790535) 你这个 `max` 的作用是啥。 如果不想用数组,就改成: ```cpp if(b>a)swap(a,b); if(c>a)swap(a,c); ``` 求个关注QWQ
by Ggsddu_zzy @ 2022-12-14 18:16:21


@[zhangpeinan123](/user/809165) max是一个函数。
by 0211qzh @ 2022-12-14 18:16:27


我知道,我的意思是,已经找到哪个是最大的了,得把它赋给一个变量。
by The_Wandering_Earth @ 2022-12-14 18:18:15


哦,这样子啊 那这个代码可以吗``` #include<bits/stdc++.h> using namespace std; int main() { int i,a,n; cin>>i>>a>>n; if(a+i<=n||a+n<=i||i+n<=a) { cout<<"Not triangle"<<endl; return 0; } if(a*a+i*i>n*n&&a*a+n*n>i*i&&i*i+n*n>a*a) cout<<"Acute triangle"<<endl; if(a*a+i*i==n*n||a*a+n*n==i*i||i*i+n*n==a*a) cout<<"Right triangle"<<endl; if(a*a+i*i<n*n||a*a+n*n<i*i||i*i+n*n<a*a) cout<<"Obtuse triangle"<<endl; if(a==i||a==n||i==n) cout<<"Isosceles triangle"<<endl; if(a==i&&a==n&&i==n) cout<<"Equilateral triangle"<<endl; return 0; } ```
by hanyaxin @ 2022-12-14 18:48:51


“核心代码” ```cpp if(d[1] * d[1] + d[2] * d[2] == d[3] * d[3]) printf("Right triangle\n"); else if(d[1] * d[1] + d[2] * d[2] > d[3] * d[3]) printf("Acute triangle\n"); else if(d[1] * d[1] + d[2] * d[2] < d[3] * d[3]) printf("Obtuse triangle\n"); if(a == b || b == c || a == c) printf("Isosceles triangle\n"); if(a == b && b == c) printf("Equilateral triangle\n"); ``` (ˉ▽ ̄~) 切~~
by shengyeqin @ 2023-02-20 19:44:09


@[shengyeqi](/user/784678) 我艹,你不会是抄题解的吧。你的码风可不是这样的
by hanyaxin @ 2023-03-05 14:04:58


@[shengyeqi](/user/784678) 芜湖~~~ 看看我发现了啥 题解的代码 ``` #include <cstdio> #include <algorithm> using namespace std; int a, b, c; int main() { scanf("%d%d%d", &a, &b, &c); int d[4] = {0, a, b, c}; sort(d + 1, d + 4); if(d[1] + d[2] <= d[3]) { printf("Not triangle\n"); return 0; } if(d[1] * d[1] + d[2] * d[2] == d[3] * d[3]) printf("Right triangle\n"); else if(d[1] * d[1] + d[2] * d[2] > d[3] * d[3]) printf("Acute triangle\n"); else if(d[1] * d[1] + d[2] * d[2] < d[3] * d[3]) printf("Obtuse triangle\n"); if(a == b || b == c || a == c) printf("Isosceles triangle\n"); if(a == b && b == c) printf("Equilateral triangle\n"); return 0; } ``` 你的代码 ``` #include <cstdio> #include <algorithm> using namespace std; int a, b, c; int main() { scanf("%d%d%d", &a, &b, &c); int d[4] = {0, a, b, c}; sort(d + 1, d + 4); if(d[1] + d[2] <= d[3]) { printf("Not triangle\n"); return 0; } if(d[1] * d[1] + d[2] * d[2] == d[3] * d[3]) printf("Right triangle\n"); else if(d[1] * d[1] + d[2] * d[2] > d[3] * d[3]) printf("Acute triangle\n"); else if(d[1] * d[1] + d[2] * d[2] < d[3] * d[3]) printf("Obtuse triangle\n"); if(a == b || b == c || a == c) printf("Isosceles triangle\n"); if(a == b && b == c) printf("Equilateral triangle\n"); return 0; } ```
by hanyaxin @ 2023-03-05 14:15:29


emmm,看来要考虑真实你了
by shengyeqin @ 2023-03-06 16:12:49


|