#include <stdio.h> #include <math.h> int main() { float a = 0; float b = 0; float c = 0; float x1 = 0; float x2 = 0; while (scanf("%f%f%f", &a, &b, &c) != EOF) { float d = -b / (2.0 * a); float det = b * b - 4.0 * a * c; if (a == 0) printf("Not quadratic equation"); else { if (det == 0) { x1 = -b / (2.0 * a); x2 = -b / (2.0 * a); if (x1 != 0) printf("x1=x2=%.2f", x1); else printf("x1=x2=0.00"); } else if (det > 0) { x1 = -b / (2.0 * a) - sqrt(det) / (2.0 * a); x2 = -b / (2.0 * a) + sqrt(det) / (2.0 * a); printf("x1=%.2f;x2=%.2f", x1, x2); } else { x1 = sqrt(-det) / (2.0 * a); x2 = sqrt(-det) / (2.0 * a); printf("x1=%.2f-%.2fi;x2=%.2f+%.2fi", d, x1, d, x2); } } printf("\n"); } return 0; }
主要是注意括号怎么打和情况怎么分