c语言一元二次方程解虚根
时间: 2023-12-02 18:37:33 浏览: 69
要解一元二次方程的虚根,需要先判断方程的判别式是否小于0。如果判别式小于0,则方程没有实数解,存在虚数解。
以下是用C语言编写的一元二次方程求解程序示例:
```c
#include <stdio.h>
#include <math.h>
int main() {
double a, b, c;
double discriminant, realPart, imaginaryPart;
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) {
realPart = -b / (2 * a);
imaginaryPart = sqrt(-discriminant) / (2 * a);
printf("方程的虚数解为:\n");
printf("x1 = %.2lf + %.2lfi\n", realPart, imaginaryPart);
printf("x2 = %.2lf - %.2lfi\n", realPart, imaginaryPart);
}
// 计算实数解
else {
double root1, root2;
root1 = (-b + sqrt(discriminant)) / (2 * a);
root2 = (-b - sqrt(discriminant)) / (2 * a);
printf("方程的实数解为:\n");
printf("x1 = %.2lf\n", root1);
printf("x2 = %.2lf\n", root2);
}
return 0;
}
```