WTS123456 发表于 2018-3-14 14:51:58

这个算用迭代法求一元二次方程吗

#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);

}

BngThea 发表于 2018-3-14 14:56:08

页: [1]
查看完整版本: 这个算用迭代法求一元二次方程吗