您的位置:首页 > 其它

求一元二次方程的解

2016-09-27 19:05 155 查看
#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;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: