📄 pku1586.cpp
字号:
#include <stdio.h>
#include <math.h>
#define Min 1e-2
int main()
{
double x[3], y[3], l[3], ang[3], tmp;
double PI = acos(-1);
int i, j;
while (scanf("%lf %lf %lf %lf %lf %lf", &x[0], &y[0], &x[1], &y[1], &x[2], &y[2]) == 6)
{
l[0] = sqrt((x[1] - x[2]) * (x[1] - x[2]) + (y[1] - y[2]) * (y[1] - y[2]));
l[1] = sqrt((x[0] - x[2]) * (x[0] - x[2]) + (y[0] - y[2]) * (y[0] - y[2]));
l[2] = sqrt((x[1] - x[0]) * (x[1] - x[0]) + (y[1] - y[0]) * (y[1] - y[0]));
ang[0] = (l[1] * l[1] + l[2] * l[2] - l[0] * l[0]) / (2 * l[1] * l[2]);
ang[1] = (l[0] * l[0] + l[2] * l[2] - l[1] * l[1]) / (2 * l[0] * l[2]);
ang[2] = (l[1] * l[1] + l[0] * l[0] - l[2] * l[2]) / (2 * l[1] * l[0]);
ang[0] = acos(ang[0]) * 180 / PI;
ang[1] = acos(ang[1]) * 180 / PI;
ang[2] = acos(ang[2]) * 180 / PI;
for (i = 0; i < 3; i++)
{
for (j = i + 1; j < 3; j++)
{
if (l[i] < l[j])
{
tmp = l[i];
l[i] = l[j];
l[j] = tmp;
}
if (ang[i] < ang[j])
{
tmp = ang[i];
ang[i] = ang[j];
ang[j] = tmp;
}
}
}
if (fabs(l[0] - l[1] - l[2]) < Min)
{
printf("Not a Triangle\n");
continue;
}
if (fabs(l[0] - l[2]) < Min)
{
printf("Equilateral");
}
else if (fabs(l[0] - l[1]) < Min || fabs(l[1] - l[2]) < Min)
{
printf("Isosceles");
}
else
{
printf("Scalene");
}
printf(" ");
if (fabs(ang[0] - 90) < 2)
{
printf("Right\n");
}
else if (ang[0] > 90)
{
printf("Obtuse\n");
}
else
{
printf("Acute\n");
}
}
printf("End of Output\n");
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -