#include #include <math.h> #include using namespace std; int main() { double a, b, c, q; a = b = c = 0; while (scanf("%lf %lf %lf\n", &a, &b, &c) != EOF) { q = b * b - 4 * a * c; if (a == 0) { cout << "Not quadratic equation\n" << endl; } else { if (q > 0) printf("x1=%.2lf;x2=%.2lf\n", (-b - sqrt(q)) / (2.0 * a), (-b + sqrt(q)) / (2.0 * a)); else if (q < 0) printf("x1=%.2lf-%.2lfi;x2=%.2lf+%.2lfi\n", (-b) / (2.0 * a),fabs(sqrt(-q) / (2.0 * a)), (-b) / (2.0 * a), fabs(sqrt(-q) / (2.0 * a)));//这个一处要注意当a是负数时,输出+-的问题,目前先到只有fabs函数,double类型的求绝对值函数 else printf("x1=x2=%.2lf\n", (-b) / (2.0 * a) + 0);//这一处要注意输出-0.00的问题,需要在后面加个才能输出0.00 } } }