//求出二次方程的两个根
//f(x) = a*x*x + b*x + c
#include<stdio.h>
#include<math.h> //程序中要调用求平方根的函数sqrt()
void my_func(double a , double b , double c); //判断判别式函数
void my_func(double a , double b , double c)
{
double disc , x , x1 , x2; //disc用来存储判别式b*b-4*a*c
disc = b * b - 4 * a *c;
if(disc < 0)
{
printf("该方程无根");
}
if(disc == 0)
{
x = - b / (2.0 * a);
printf("该方程有且只有一个根 %7.2f\n",x);
}
if(disc > 0)
{
x1 = - b / (2.0 * a) + sqrt(disc) / (2.0 * a);
x2 = - b / (2.0 * a) - sqrt(disc) / (2.0 * a);
printf("该方程有两个不相同的根!\n");
printf("分别是:\n");
printf("x1 = %7.2f\n",x1);
printf("x2 = %7.2f\n",x2);
}
}
int main()
{
double a , b , c;
printf("请您输入三个数 a , b , c(中间用空格隔开):");
scanf("%lf%lf%lf",&a,&b,&c);
my_func(a , b , c);
return 0;
}
![](https://i-blog.csdnimg.cn/blog_migrate/fbb90263459cbc08853453e8cfe4ac25.png)