求一元二次方程的解

来源:互联网 发布:软件测试逻辑覆盖 编辑:程序博客网 时间:2024/04/29 07:03
#include<stdio.h>
#include<math.h>



int main()
{

double a=0,b=0,c=0,s=0,x1=0,x2=0;


printf("ax2+bx+c=0");
printf("\n输入a b c的值\n");

scanf("%lf%lf%lf",&a,&b,&c);


s=b*b-4*a*c;


if(a==0)
{
printf("此函数不是一元二次方程\n");
}
else
{
if(s==0)
{
x1=x2=-b/(2*a);
printf("此函数有两个相同的实根:%f\n",x1);
}
else
{
if(s>0)
{
x1=((-b+sqrt(s))/(2*a));
x2=((-b-sqrt(s))/(2*a));
printf("此函数有两个不相同的实根:%f %f\n",x1,x2);
}
else
{
double p=0,q=0;
p=-b/(2*a);
q=sqrt(s)/(2*a);
printf("此函数有两个复根:%f+%fi  %f-&fi\n",p,q,p,q);
}
}
}
system("pause");


return 0;
}
1 0
原创粉丝点击