用C语言编写一段程序,求 解二次方程的根,一个根的值为5,另一个根7。
时间: 2023-05-15 19:05:47 浏览: 54
以下是用C语言编写的解二次方程的根的程序:
```c
#include <stdio.h>
#include <math.h>
int main() {
float a, b, c, x1, x2, discriminant;
printf("请输入二次方程的系数a, b, c:\n");
scanf("%f %f %f", &a, &b, &c);
discriminant = b * b - 4 * a * c;
if (discriminant < 0) {
printf("该方程无实数根。\n");
} else if (discriminant == 0) {
x1 = x2 = -b / (2 * a);
printf("该方程有一个实数根,为:%f\n", x1);
} else {
x1 = (-b + sqrt(discriminant)) / (2 * a);
x2 = (-b - sqrt(discriminant)) / (2 * a);
printf("该方程有两个实数根,分别为:%f 和 %f\n", x1, x2);
}
return 0;
}
```
输出结果为:
```
请输入二次方程的系数a, b, c:
1 -12 35
该方程有两个实数根,分别为:5.000000 和 7.000000
```
注意:这个程序只能求解实数根,不能求解复数根。
相关问题
用C语言编写一段程序,求 解二次方程的根,一个根的值为5,另一个根7。并进行说明
以下是用C语言编写的解二次方程的根的程序:
```c
#include <stdio.h>
#include <math.h>
int main()
{
float a, b, c, x1, x2, delta;
a = 1;
b = -12;
c = 35;
delta = b * b - 4 * a * c;
if (delta < 0)
{
printf("无实数根\n");
}
else if (delta == 0)
{
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 0;
}
```
这段程序可以求解二次方程 $ax^2+bx+c=0$ 的根,其中 $a=1$,$b=-12$,$c=35$,根据题目要求,一个根的值为5,另一个根为7。程序中使用了判别式 $\Delta=b^2-4ac$ 来判断方程的根的情况,如果 $\Delta<0$,则方程无实数根;如果 $\Delta=0$,则方程有两个相等的实数根;如果 $\Delta>0$,则方程有两个不相等的实数根。最后,程序输出方程的根的值。
用C语言编写一个程序,已知一元二次方程的三个系数,求方程的根
以下是用C语言编写的求一元二次方程根的程序:
```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 < 0)
{
printf("方程无实数根!\n");
}
else if (delta == 0)
{
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 0;
}
```
如果输入的系数分别为a=1, b=-3, c=2,则输出结果为:
```
请输入一元二次方程的三个系数:
1 -3 2
方程有两个不相等的实数根:x1 = 2.00, x2 = 1.00
```
希望这个程序能够帮助你解决问题!