题目描述 求方程式ax2+bx+c=0的实根。 输入 三个用空格隔开的整数a、b、c,保证a不为0,且b2-4ac>0。 输出 输出方程式ax2+bx+c=0的两个实根。所有的实数输出请使用C语言的默认舍入方式保留4位小数,注意行尾输出换行。
时间: 2024-12-18 14:37:52 浏览: 0
这是一个经典的数学问题,通常出现在计算机编程课程中,要求编写程序求解一元二次方程 \( ax^2 + bx + c = 0 \) 的根。当判别式 \( b^2 - 4ac \) 大于0时,意味着该方程有两个不同的实根。你可以使用公式 \( x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a} \) 来计算。以下是C语言函数实现这个功能的例子:
```c
#include <stdio.h>
#include <math.h> // 引入math库,用于浮点数的平方根运算
// 定义求解二次方程的函数
void solveQuadraticEquation(double a, double b, double c) {
double discriminant = b * b - 4 * a * c;
double root1 = (-b + sqrt(discriminant)) / (2 * a);
double root2 = (-b - sqrt(discriminant)) / (2 * a);
printf("%.4f\n", root1);
printf("%.4f\n", root2);
}
int main() {
int a, b, c;
scanf("%d %d %d", &a, &b, &c);
// 转换为double类型进行浮点计算
double aDouble = (double)a;
double bDouble = (double)b;
double cDouble = (double)c;
solveQuadraticEquation(aDouble, bDouble, cDouble);
return 0;
}
```
在这个代码中,用户输入三个整数a、b、c,我们首先把它们转换为double类型,然后调用`solveQuadraticEquation`函数计算根并按照要求打印结果,保留4位小数。
阅读全文