用c语言编写求一元二次方程的根
时间: 2023-02-18 07:37:13 浏览: 67
这个问题可以用一元二次方程求解,具体算法可以参考下面的代码:
#include<stdio.h>
int main(){
float a,b,c;
double x1,x2;
printf("请输入一元二次方程的系数a,b,c:");
scanf("%f,%f,%f",&a,&b,&c);
if(a==0){
printf("不是一元二次方程!\n");
}
else{
double delta=b*b-4*a*c;
if(delta>0){
x1=(-b+sqrt(delta))/(2*a);
x2=(-b-sqrt(delta))/(2*a);
printf("有两个不相等的实数根:x1=%lf,x2=%lf\n",x1,x2);
}
else if(delta==0){
x1=x2=-b/(2*a);
printf("有两个相等的实数根:x1=x2=%lf\n",x1);
}
else{
printf("无实数根!\n");
}
}
return 0;
}
相关问题
用C语言编写求根公式求一元二次方程
可以使用以下代码来求解一元二次方程的根:
#include <stdio.h>
#include <math.h>
int main()
{
float a, b, c, delta, x1, x2;
printf("请输入一元二次方程的系数:\n");
scanf("%f %f %f", &a, &b, &c);
delta = b * b - 4 * a * c;
if (delta < )
{
printf("方程无实数根!\n");
}
else if (delta == )
{
x1 = x2 = -b / (2 * a);
printf("方程有唯一实数根:x1 = x2 = %.2f\n", x1);
}
else
{
x1 = (-b + sqrt(delta)) / (2 * a);
x2 = (-b - sqrt(delta)) / (2 * a);
printf("方程有两个实数根:x1 = %.2f, x2 = %.2f\n", x1, x2);
}
return ;
}
怎么用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语言编写求根公式求解一元二次方程的方法。根据步骤编写完整的代码后,即可运行并调用该函数进行测试。