代码:
#include <stdio.h>
#include <math.h>
int main() {
double a, b, c;
double discriminant, root1, root2;
printf(“请输入一元二次方程的系数:n”);
printf(“a: “);
scanf(“%lf”, &a);
printf(“b: “);
scanf(“%lf”, &b);
printf(“c: “);
scanf(“%lf”, &c);
discriminant = b * b – 4 * a * c;
if (discriminant > 0) {
root1 = (-b + sqrt(discriminant)) / (2 * a);
root2 = (-b – sqrt(discriminant)) / (2 * a);
printf(“方程有两个实根:root1 = %.2lf, root2 = %.2lfn”, root1, root2);
}
else if (discriminant == 0) {
root1 = -b / (2 * a);
printf(“方程有一个实根:root = %.2lfn”, root1);
}
else {
double realPart = -b / (2 * a);
double imaginaryPart = sqrt(-discriminant) / (2 * a);
printf(“方程有两个复根:root1 = %.2lf + %.2lfi, root2 = %.2lf – %.2lfin”,
realPart, imaginaryPart, realPart, imaginaryPart);
}
return 0;
}