c语言求一元二次方程的根(在附属范围内)
时间: 2024-02-13 17:04:31 浏览: 18
好的,以下是求解一元二次方程的根的C语言代码:
```c
#include <stdio.h>
#include <math.h>
int main() {
float a, b, c, delta, x1, x2, realPart, imaginaryPart;
printf("请输入一元二次方程的系数a、b、c:\n");
scanf("%f %f %f", &a, &b, &c);
delta = b * b - 4 * a * c;
if (delta > 0) {
x1 = (-b + sqrt(delta)) / (2 * a);
x2 = (-b - sqrt(delta)) / (2 * a);
printf("该方程有两个实根:x1 = %.2f, x2 = %.2f\n", x1, x2);
} else if (delta == 0) {
x1 = x2 = -b / (2 * a);
printf("该方程有一个实根:x1 = x2 = %.2f\n", x1);
} else {
realPart = -b / (2 * a);
imaginaryPart = sqrt(-delta) / (2 * a);
printf("该方程有两个虚根:x1 = %.2f + %.2fi, x2 = %.2f - %.2fi\n", realPart, imaginaryPart, realPart, imaginaryPart);
}
return 0;
}
```
这个代码可以根据输入的一元二次方程系数(a、b、c),计算方程的根,并输出结果。如果方程有实根,就输出实根的值;如果方程有虚根,就输出虚根的值。