怎么用C语言编写求根公式求一元二次方程
时间: 2023-08-31 20:27:23 浏览: 166
c语言求解一元二次方程问题
### 回答1:
以下是用C语言编写求根公式求一元二次方程的代码:
```c
#include <stdio.h>
#include <math.h>
int main()
{
float a, b, c;
float delta, x1, x2;
printf("请输入一元二次方程的系数:\n");
printf("a = ");
scanf("%f", &a);
printf("b = ");
scanf("%f", &b);
printf("c = ");
scanf("%f", &c);
delta = b * b - 4 * a * c;
if(delta < 0)
{
printf("此方程无实数根!\n");
}
else if(delta == 0)
{
x1 = x2 = -b / (2 * a);
printf("此方程有两个相等的实数根:\n");
printf("x1 = x2 = %.2f\n", x1);
}
else
{
x1 = (-b + sqrt(delta)) / (2 * a);
x2 = (-b - sqrt(delta)) / (2 * a);
printf("此方程有两个不相等的实数根:\n");
printf("x1 = %.2f\n", x1);
printf("x2 = %.2f\n", x2);
}
return 0;
}
```
使用此程序,可以输入一元二次方程的系数,然后计算出其实数根,并输出结果。其中,使用了数学库中的`sqrt()`函数来计算平方根。
### 回答2:
要用C语言编写求根公式求解一元二次方程,可以按照以下步骤进行:
1. 首先,定义三个变量a、b、c,分别表示二次方程ax^2+bx+c=0中的系数a、b、c。可以使用float类型或double类型。
2. 接下来,使用scanf函数从用户输入获取a、b、c的值。例如:
```c
printf("请输入二次方程的系数a:");
scanf("%f", &a);
printf("请输入二次方程的系数b:");
scanf("%f", &b);
printf("请输入二次方程的系数c:");
scanf("%f", &c);
```
3. 接下来,根据一元二次方程的求根公式求解方程的根。公式为:
```c
delta = b*b - 4*a*c;
```
若delta大于0,则方程有两个不相等的实根;若delta等于0,则方程有两个相等的实根;若delta小于0,则方程没有实根。
4. 根据delta的值进行条件判断,然后使用sqrt函数计算平方根并计算方程的根。例如:
```c
if (delta > 0) {
x1 = (-b + sqrt(delta)) / (2*a);
x2 = (-b - sqrt(delta)) / (2*a);
printf("方程的两个根为 x1=%.2f, x2=%.2f\n", x1, x2);
} else if (delta == 0) {
x1 = x2 = -b / (2*a);
printf("方程的两个根为 x1=x2=%.2f\n", x1);
} else {
printf("方程没有实根\n");
}
```
5. 最后,根据步骤4计算的结果,使用printf函数输出方程的根或没有实根的提示。
以上就是用C语言编写求根公式求解一元二次方程的方法。根据步骤编写完整的代码后,即可运行并调用该函数进行测试。
阅读全文