用C语言解一元二次方程式的根

    技术2022-07-11  62

    #include<stdio.h> #include<math.h> //需要用到一个sqrt()函数,该函数功能用于开方; //该函数运算结果数据类型为double类型;如果涉及到运算请将数据类型定义成浮点型! int main () { float a,b,c,x1,x2; printf("请分别输出方程式的系数,中间以空格分隔\n"); scanf("%f %f %f",&a,&b,&c); if(b*b-4*a*c>0)//判断判别式是否大于0 { printf("方程有两个不同实根\n"); x1=(-b+sqrt(b*b-4*a*c))/(2*a);//注意:"-b+sqrt(b*b-4*a*c)" 一定要用括号括起来! //否则会导致运算错误,程序会根据先算乘除再算加减的过程来运算! x2=(-b-sqrt(b*b-4*a*c))/(2*a); printf("方程两个不同实根x1=%0.3f x2=%0.3f\n",x1,x2); //%0.3f是精确到3位小数的意思,同理0.2f就是精确到2位小数 } if(b*b-4*a*c==0)//判断判别式是否等于0 { printf("方程有两个相同实根\n"); x1=x2=-b/2*a; printf("方程两个相同同实根x1=%0.3f x2=%0.3f\n",x1,x2); } if(b*b-4*a*c<0)//判断判别式是否小于0 { printf("方程无实根\n"); } return 0; }
    Processed: 0.012, SQL: 9