求方程ax2+bx+c=0的根,用三个函数分别求当b2-4ac大于0、等于0和小于0时的根,并输出结果。从主函数输入a、b、c的值。这是题目,以及要运行出的结果截图
#include<stdio.h>
#include<math.h>
double x1,x2,disc,p,q;
void qest(int a,int b,int c)
{
a=(double)a;
b=(double)b;
c=(double)c;
disc=b*b-4*a*c;
if(disc>0)
{
x1=(-b+sqrt(disc))/(2*a);
x2=(-b-sqrt(disc))/(2*a);
printf("x1=%lf \nx2=%lf",x1,x2);
}
else if(disc=0)
{
x1=(-b)/(2*a);
x2=(-b)/(2*a);
printf("x1=%lf \nx2=%lf",x1,x2);
}
else if(disc<0)
{
p=-b/(2*a);
q=sqrt(-disc)/(2*a);
x1=p+q;
x2=p-q;
printf("x1=%lf \nx2=%lf",x1,x2);
}
}
int main()
{
int a,b,c;
printf("please input a,b,c:<a*x*x+b*x+c=0>\n");
printf("a=");
scanf("%d",&a);
printf("b=");
scanf("%d",&b);
printf("c=");
scanf("%d",&c);
printf("fang cheng wei:\n");
if(a!=0 || b!=0 )
{
printf("%d*x*x+%d*x+%d=0",a,b,c);
qest(a,b,c);
}
return 0;
}
运行出来的结果是这样
到主函数的qest的时候,它就不进入子函数,直接结束了,想问问大家是为什么不进入子函数