求一元二次方程的根,用3个函数分别求出当b的平方-4ac大于0、等于0、小于0时的根并输出结果。从主函数输入a,b,c的值。
#include<stdio.h>
#include<math.h>
void f1(float a,float b,float c); //定义 解出不同情况根的函数
void f2(float a,float b,float c);
void f3(float a,float b,float c);
int main()
{
float a,b,c;
scanf("%f%f%f",&a,&b,&c); //输入方程的系数。
if(pow(b,2)-4*a*c == 0) //方程根情况的讨论
f1(a,b,c);
else
if(pow(b,2)-4*a*c < 0)
f2(a,b,c);
else
f3(a,b,c);
return 0;
}
void f1(float a,float b,float c)
{
float x1,x2;
x1=((-b+sqrt(pow(b,2)-4*a*c))/(2*a)); //方程根的计算公式
x2=x1;
printf("%.2f %.2f\n",x1,x2);
return;
}
void f2(float a,float b,float c)
{
printf("There is no real number solution\n");
return;
}
void f3(float a,float b,float c)
{
float x1,x2;
x1=((-b+sqrt(pow(b,2)-4*a*c))/(2*a));
x2=((-b-sqrt(pow(b,2)-4*a*c))/(2*a));
printf("%.2f %.2f\n",x1,x2);
return;
}