这个算用迭代法求一元二次方程吗
#include <stdio.h>#include <math.h>
void main()
{
double a,b,c,date,s0,s1,x0,x1;//a,b,c是一元二次方程的系数
scanf("%lf,&lf,&lf",&a,&b,&c);
date = b*b-4*a*c;
if(date>0)
{
s0 = date/2;
s1 = (x0+(date/x0))/2;
while(fabs(s1-s0)>=1e-6)
{
s0 =s1;
s1=(s0+a/s0)/2;
}
x0 =(-b+s1)/2/a;
x1 =(-b-s1)/2/a;
}
else if(date==0)
{
x0=x1=-b/2/a;
}
else
{
printf("没有实数根:\n");
}
printf("方程的两个根%lf,%lf:\n",x0,x1);
} 是
页:
[1]