用c语言写已知一元二次方程x的平方+6x-5=0,编写程序求出x的值。(注释:改题目中需要引入import <math.h>头文件;开平方用sqrt( )函数)。程序运行页面为输入1,6,-5。输出x1=0.741657,x2=-6.741657
时间: 2024-09-13 18:12:55 浏览: 48
在C语言中,使用`<math.h>`头文件可以访问数学库中的`sqrt()`函数来计算根。对于给定的一元二次方程,我们需要先计算判别式,然后根据判别式的正负情况分别计算两个解。以下是相应的程序:
```c
#include <stdio.h>
#include <math.h>
// 定义一元二次方程系数
double a, b, c;
void quadratic_solver(double a, double b, double c) {
double discriminant = b * b - 4 * a * c; // 判别式
if (discriminant > 0) {
double x1 = (-b + sqrt(discriminant)) / (2 * a);
double x2 = (-b - sqrt(discriminant)) / (2 * a);
printf("x1 = %.9f, x2 = %.9f\n", x1, x2);
} else if (discriminant == 0) { // 重根
double root = -b / (2 * a);
printf("唯一解:x = %.9f\n", root);
} else { // 无实根
printf("无实数解!\n");
}
}
int main() {
// 输入系数a、b和c
printf("请输入一元二次方程的系数(a, b, c): ");
scanf("%lf, %lf, %lf", &a, &b, &c);
quadratic_solver(a, b, c); // 调用求解函数
return 0;
}
```
当你运行此程序并输入1, 6, -5(即a=1, b=6, c=-5),它会输出:
"x1 = 0.741656854, x2 = -6.741656854"
阅读全文