题目: P5717 【深基3.习8】三角形分类 https://www.luogu.com.cn/problem/P5717
ERROR Code:
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
int a, b, c;
cin >> a >> b >> c;
// 核心代码
if (a > c)
swap(a, c);
if (b > c)
swap(b, c);
if (a > c)
swap(a, c);
if (b > c)
swap(b, c);
if (a + b <= c)
{
printf("Not triangle\n");
}
else
{
if (a * a + b * b == c * c)
{
printf("Right triangle\n");
}
else if (a * a < b * b + c * c)
{
printf("Acute triangle\n");
}
else if (a * a > b * b + c * c)
{
printf("Obtuse triangle\n");
}
if (a == b || a == c || b == c)
{
printf("Isosceles triangle\n");
}
if (a == b && a == c && b == c)
{
printf("Equilateral triangle\n");
}
}
system("pause");
return 0;
}
/*出错的
1.【函数表示:cos的表示】锐角三角形、钝角等角度表示。
答: 1.a*a==b*b+c*c-2*b*c*cos(A)
锐角:a*a<b*b+c*c
2.钝角:a*a>b*b+c*c
2.【判断条件:不是三角形的条件】
ERROR://if (a + b > c || a + c > b || b + c > a)
答:if (a + b <= c || a + c <= b || b + c <= a)
3.【 判断条件:else if的使用 】
ERROR:
// if (a * a + b * b == c * c || a * a + c * c == b * b || c * c + b * b == a * a)
// {
// printf("Right triangle\n");
// }
// if
if
答:
if (a * a + b * b == c * c || a * a + c * c == b * b || c * c + b * b == a * a)
{
printf("Right triangle\n");
}
else if (a * a < b * b + c * c || b * b < a * a + c * c || c * c < b * b + a * a)
{
printf("Acute triangle\n");
}
else if (a * a > b * b + c * c || b * b > a * a + c * c || c * c > b * b + a * a)
{
printf("Obtuse triangle\n");
}
*/