各种曲线的判定,好吧,我承认我都忘了。
#include <iostream>
#include <cstdio>
#include <cmath>
using namespace std;
const double eps = 1e-9;
int main()
{
int T;
scanf("%d", &T);
while(T--)
{
double a, b, c, d, e, f;
scanf("%lf%lf%lf%lf%lf%lf", &a, &b, &c, &d, &e, &f);
if(b * b - 4 * a * c < 0 && a != c)
cout << "ellipse" << endl;//椭圆
else if(fabs(a - c) < eps && fabs(b - 0) < eps && d * d + e * e - 4 * f > 0)
cout << "circle" << endl;
else if(fabs(b * b - 4 * a * c) < eps)
cout << "parabola" << endl;//抛物线
else if(b * b - 4 * c * a > 0)
cout << "hyperbola" << endl;//双曲线
/*else if(fabs(a + c) < e)
cout << "直角双曲线" << endl;*/
}
return 0;
}