ax*x+bx+c=0 b*b-4ac>0求解c语言编程

来源:百度知道 编辑:UC知道 时间:2024/06/07 08:29:42
需要改后是能通过的,通不过是谁给谁改呀,我谢谢了

#include<stdio.h>
#include<math.h>
int main()
{ double x1,x2,a,b,c;
scanf("%lf%lf%lf",&a,&b,&c);
x1=(-b+sqrt(b*b-4*a*c))/(2*a); //失误,太快把*号丢了。
x1=(-b-sqrt(b*b-4*a*c))/(2*a);
printf("x1=%lf\nx2=%lf",x1,x2);

return 0;
}

可以用2分法求解!!

#include<stdio.h>
#include<math.h>
double f(double x)
{
return a*x*x+b*x+c;
}

void main()
{
double a,b,c;
printf("please input tow nums.");
scanf("%d%d",&a,&b);}
while(f(a)*f(b)>0)
{printf("please reput.");
scanf("%d%d",&a,&b);}
c=(a+b)/2;
while(fabs(f(c))>0.00001){
if(f(c)*f(b)<0) a=c;
else b=c;
c=(a+b)/2;
}
printf("%lf\n",c);
}