运用C语言解决求ax2+bx+c=0的根,a,b,c由键盘输入。最简单的代码
时间: 2024-05-14 16:16:41 浏览: 83
以下是解决ax^2 + bx + c = 0的根的C语言代码,a、b、c由键盘输入:
```
#include <stdio.h>
#include <math.h>
int main() {
double a, b, c, discriminant, root1, root2;
printf("请输入系数 a, b, c:\n");
scanf("%lf %lf %lf", &a, &b, &c);
discriminant = b * b - 4 * a * c;
if (discriminant < 0) {
printf("方程无实根。\n");
} else if (discriminant == 0) {
root1 = root2 = -b / (2 * a);
printf("方程有两个相等的实根:%lf\n", root1);
} else {
root1 = (-b + sqrt(discriminant)) / (2 * a);
root2 = (-b - sqrt(discriminant)) / (2 * a);
printf("方程有两个不同的实根:%lf 和 %lf\n", root1, root2);
}
return 0;
}
```
在该程序中,我们首先通过 `scanf` 函数从键盘获取输入的系数 a、b、c 的值,并计算出判别式 `discriminant`。接着,我们使用 `if` 和 `else if` 语句来判断方程是否有实根,如果没有则输出“方程无实根”,否则分别计算出方程的两个实根并输出。其中涉及到了平方根的运算,我们调用了 math.h 库中的 `sqrt` 函数进行计算。
阅读全文