使用【c语言】写【输入一元二次方程ax2+bx+c=0的系数,求方程的根, 输出方程的根】的代码
时间: 2024-12-17 17:56:43 浏览: 51
在C语言中,计算一元二次方程的根需要使用到公式`(-b ± sqrt(b^2 - 4ac)) / (2a)`。下面是一个简单的程序示例,它会提示用户输入a、b和c的值,并计算两个解:
```c
#include <stdio.h>
#include <math.h> // 引入数学库,用于sqrt函数
double calculate_root(double a, double b, double c) {
double discriminant = b * b - 4 * a * c; // 计算判别式
if (discriminant > 0) {
return (-b + sqrt(discriminant)) / (2 * a), (-b - sqrt(discriminant)) / (2 * a);
} else if (discriminant == 0) {
return -b / (2 * a); // 一个实数根
} else { // 无实数根
double complex_roots[2] = {(-b + I * sqrt(-discriminant)) / (2 * a), (-b - I * sqrt(-discriminant)) / (2 * a)};
printf("有两个复数根: %.2f + %.2fi 和 %.2f - %.2fi\n", complex_roots[0].real, complex_roots[0].imaginary, complex_roots[1].real, complex_roots[1].imaginary);
return complex_roots;
}
}
int main() {
double a, b, c;
printf("请输入一元二次方程的系数(a, b, c): ");
scanf("%lf %lf %lf", &a, &b, &c);
if (a != 0) {
double roots[] = calculate_root(a, b, c);
printf("方程的根为: %.2f 和 %.2f\n", roots[0], roots[1]);
} else {
printf("错误!一元二次方程的系数a不能为零。\n");
}
return 0;
}
```
阅读全文
相关推荐


















