输入一元二次方程 ax2+bx+c=0 的系数 a 、b 、c ,求 方程的根的c语言编程代码
时间: 2024-10-21 22:09:01 浏览: 45
c代码-求ax平方+bx+c+=0
5星 · 资源好评率100%
在C语言中,你可以使用数学库中的`sqrt()`函数来计算平方根。这里有一个简单的程序示例,它使用了`bfsqrt`或`__builtin_sqrt`(取决于你的编译器支持)来找到一元二次方程ax^2 + bx + c = 0的解,前提是判别式Δ = b^2 - 4ac >= 0。
```c
#include <stdio.h>
#include <math.h>
double quadratic(double a, double b, double c) {
double discriminant = b * b - 4 * a * c; // 计算判别式
if (discriminant < 0) { // 如果判别式为负,则无实数解
printf("方程无实数解.\n");
return -1;
} else if (discriminant == 0) { // 重根
return -b / (2 * a);
} else { // 两个不同实根
double root1 = (-b + sqrt(discriminant)) / (2 * a);
double root2 = (-b - sqrt(discriminant)) / (2 * a);
return (root1, root2); // 返回一个包含两个值的元组
}
}
int main() {
double a, b, c;
printf("请输入一元二次方程的系数a, b, c:\na = ");
scanf("%lf", &a);
printf("b = ");
scanf("%lf", &b);
printf("c = ");
scanf("%lf", &c);
double roots[2]; // 假设可能有两个根
roots = quadratic(a, b, c);
if (roots[0] != -1) {
printf("方程的根为: %.2lf 和 %.2lf\n", roots[0], roots[1]);
}
return 0;
}
```
阅读全文