用c编程计算并输出一次二元方程ax2-+bx+C=0的 两个实根。
时间: 2024-11-20 16:40:09 浏览: 20
在C语言中,计算二次方程 ax^2 + bx + c = 0 的两个实数根,通常需要使用公式:
x1 = [-b - sqrt(b^2 - 4ac)] / (2a)
x2 = [-b + sqrt(b^2 - 4ac)] / (2a)
其中 `sqrt()` 函数用于计算平方根,`-` 表示负数。如果 b^2 - 4ac < 0,则方程无实根;若等于0,则有一个实根,等于 -b / (2a)。
下面是基本的函数实现:
```c
#include <stdio.h>
#include <math.h>
double calculateRoots(double a, double b, double c) {
double discriminant = b * b - 4 * a * c;
if (discriminant > 0) {
double root1 = (-b + sqrt(discriminant)) / (2 * a);
double root2 = (-b - sqrt(discriminant)) / (2 * a);
printf("两个实根分别为: %.2lf 和 %.2lf\n", root1, root2);
} else if (discriminant == 0) {
double realRoot = -b / (2 * a);
printf("方程有唯一实根: %.2lf\n", realRoot);
} else {
printf("方程无实根。\n");
}
}
int main() {
double a, b, c;
printf("请输入二次项系数(a): ");
scanf("%lf", &a);
printf("请输入一次项系数(b): ");
scanf("%lf", &b);
printf("请输入常数项(c): ");
scanf("%lf", &c);
calculateRoots(a, b, c);
return 0;
}
```
用户输入系数 a、b 和 c 后,程序会计算并输出实根。请注意,在实际项目中,你需要处理浮点数输入的错误以及边界情况。
阅读全文
相关推荐
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)