c语言一元二次方程解
时间: 2023-12-02 09:37:33 浏览: 103
c语言求解一元二次方程问题
为了解决一元二次方程,我们可以使用以下的C语言代码来计算方程的根:
```c
#include <stdio.h>
#include <math.h>
int main() {
double a, b, c, 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;
// 如果判别式小于0,则根为虚数
if (discriminant < 0) {
printf("方程没有实根。\n");
}
// 如果判别式等于0,则根为重根
else if (discriminant == 0) {
root1 = -b / (2 * a);
printf("方程有一个实根:root = %lf\n", root1);
}
// 如果判别式大于0,则根为不同的实数
else {
root1 = (-b + sqrt(discriminant)) / (2 * a);
root2 = (-b - sqrt(discriminant)) / (2 * a);
printf("方程有两个实根:root1 = %lf, root2 = %lf\n", root1, root2);
}
return 0;
}
```
这段代码通过用户输入三个系数a、b、c,计算方程的根。当判别式小于0时,输出"方程没有实根";当判别式等于0时,输出"方程有一个实根";当判别式大于0时,输出"方程有两个实根"。同时,根的值通过root1和root2变量进行存储并输出。
阅读全文