知识点:

分支控制:分支控制

测试用例:4 0 0,

-0的解决方案:结果+0即可;

#include <iostream>
#include <cmath>
using namespace std;

int main() {
    double a, b, c;
    double delta;
    double x1, x2;
    double real, imag;

    while (scanf("%lf %lf %lf", &a, &b, &c) != EOF) {
        if (a == 0.0) {
            printf("Not quadratic equation\n");
        } else {
            delta = b * b - 4 * a * c;

            if (delta == 0) {
                x1 = x2 = (-b) / (2.0 * a) + 0;
                printf("x1=x2=%.2f\n", x1);
            } else if (delta > 0) {
                x1 = ((-b) - sqrt(delta)) / (2 * a);
                x2 = ((-b) + sqrt(delta)) / (2 * a);
                printf("x1=%.2f;x2=%.2f\n", x1, x2);
            } else {
                real = (-b) / (2 * a);
                imag = (sqrt(-delta)) / (2 * a);
                printf("x1=%.2f-%.2fi;x2=%.2f+%.2fi\n", real, imag, real, imag);
            }
        }
    }
}