c语言解方程ax2+bx+c=0 a≠0
时间: 2023-05-26 16:04:37 浏览: 111
c代码-求ax平方+bx+c+=0
以下是一种用C语言解二次方程的方法:
```
#include <stdio.h>
#include <math.h>
int main() {
float a, b, c, delta, x1, x2;
printf("Enter a, b, c: ");
scanf("%f %f %f", &a, &b, &c);
delta = b * b - 4 * a * c;
if (delta < 0) {
printf("The equation has no real roots.\n");
} else if (delta == 0) {
x1 = x2 = -b / (2 * a);
printf("The equation has one real root: %.2f\n", x1);
} else {
x1 = (-b + sqrt(delta)) / (2 * a);
x2 = (-b - sqrt(delta)) / (2 * a);
printf("The equation has two real roots: %.2f and %.2f\n", x1, x2);
}
return 0;
}
```
在这个程序中,用户被要求输入三个浮点数a,b和c,分别代表二次方程的系数。然后,程序先计算delta,即判别式,根据delta的值判断方程的解的情况:
1. delta小于0,方程没有实数解。
2. delta等于0,方程有一个实数解,解为-x1=b/(2a)。
3. delta大于0,方程有两个实数解,解为x1=(-b+√delta)/(2a),x2=(-b-√delta)/(2a)。
最后输出方程的实数解。
请注意,如果你有特殊的要求或需要进一步验证,可能需要改进和修改上述程序。
阅读全文