C语言如何计算求解一元二次方程ax+bx+c=0的根

如题所述

#include<stdio.h>

#include<math.h> 


int fun1(double a,double b,double d)

   { double x1,x2;

       x1=(b+sqrt(d))/(-1*2*a);

       x2=(b-sqrt(d))/(-1*2*a);

       printf("x1=%.2lf x2%.2lf",x1,x2);

   }

int fun2(double a,double b,double d)

   {double x1,x2;

       x1=x2=(b+sqrt(d))/(-2*a);

       printf("x1=%.2lf x2=%.2lf",x1,x2);

   }

int fun3(double a,double b,double d)

   {double x1,x2,y1,y2;

       x1=(-b)/(2*a);

       y1=sqrt(-d)/(2*a);

       x2=(-b)/(2*a);

       y2=sqrt(-d)/(2*a);

       printf("x1=%.3lf+%.3lfi x2=%.3lf-%.3lfi",x1,y1,x2,y2);

   }

int main()

{

    double a,b,c,d;

    double x1,x2;

    scanf("%lf%lf%lf",&a,&b,&c);

    d=b*b-4*a*c;//b*b-4*a*c有3中情况,因此定义3个函数来计算3种情况; 

    if(d>0)

       fun1(a,b,d);

    if(d==0)

       fun2(a,b,d);

    if(d<0)//这种情况结果为复数; 

       fun3(a,b,d);

    return 0;

 } 

温馨提示:内容为网友见解,仅供参考
第1个回答  2020-05-04
通过一元二次方程的求根公式,注意要先判断有几个根

C语言如何计算求解一元二次方程ax+bx+c=0的根
double x1,x2;scanf("%lf%lf%lf",&a,&b,&c);d=b*b-4*a*c;\/\/b*b-4*a*c有3中情况,因此定义3个函数来计算3种情况;if(d>0)fun1(a,b,d);if(d==0)fun2(a,b,d);if(d<0)\/\/这种情况结果为复数;fun3(a,b,d);return 0;} ...

C语言,求一元二次方程ax2+bx+c=0的根。
void erci(int a,int b,int c){ int data;double x1,x2;data=b*b-4*a*c;if(data<0)printf("得他小于零,无解\\n");else if(data==0){ x1=-b\/2*a;printf("得他等于零,有一个解:\\tx=%lf\\n",x1);} else { x1=(-b+sqrt(data))\/2*a;x2=(-b-sqrt(data))\/2*a;...

用c语言编程求解ax+bx+c=0的实根
方程%0.2fX^2+%0.2fX+%0.2f=0的根为(双根) x1=x2=%0.2f\\n",a,b,c,(-b)\/(2*a)); else printf("方程%0.2fX^2+%0.2fX+%0.2f=0的根为(双根) x1=%0.2f,x2=%0.2f\\n",a,b,c,((-b)+sqrt(flag))\/(2*a),((-b)-sqrt(flag))\/(2*a)); } ...

用c语言编写ax2+bx+c=0的根?
double x1, x2; \/\/ 一元二次方程的根 printf("请输入一元二次方程的系数(a, b, c):\\n");scanf("%lf%lf%lf", &a, &b, &c);delta = b * b - 4 * a * c; \/\/ 计算判别式 if (delta >= 0) { x1 = (-b + sqrt(delta)) \/ (2 * a); \/\/ 计算第一个根...

C语言。从键盘输入三个常量A. B. C. 求一元二次方程ax+bx+c=0的跟
int main(){ double a,b,c,delta,x1,x2,xu1,xu2;printf("请输入a,b,c:");scanf("%lf%lf%lf",&a,&b,&c);delta=b*b-4*a*c;if(delta>=0){ x1=(-b+sqrt(delta))\/(2*a);x2=(-b-sqrt(delta))\/(2*a);printf("有实根x1=%lf和x2=%lf\\n",x1,x2);} else { x1...

怎样用c语言解一元二次方程
对于如下的一元二次方程:ax*x+bx+c=0设计C语言程序,输入一元二次方程的三个系数a、b、c,求解出该方程的两个根,并且允许用户在程序中多次输入不同的系数,以求解不同的一元二次方程的解。编程思路分析:对于该方程,令delta=b^2-4*a*c,从数学的角度来讲,我们需要根据delta的值来判断该...

用c语言怎么求方程ax2+ bx+ c=0的根?
求一元二次方程ax2+bx+c=0的根c语言详细内容如下:1、一元二次方程ax^2+bx+c=0的根的求解涉及到数学的二次方程解公式。当我们谈论一元二次方程的根时,我们实际上是在谈论这个方程的解,也就是能够使得方程成立的未知数的值。在C语言中,我们可以使用数学库来帮助我们进行计算。2、首先,我们...

c语言一元二次方程求根程序
如果判别式 Δ >= 0 ,代表方程有两个根,输出根。如果 Δ < 0 ,提示“方程无根”。c语言一元二次方程求根程序算法的构思过程:一元二次方程的一般式:ax^2+bx+c=0。我们知道,一元二次方程有解(根)的充要条件是:b^2-4ac>=0。如果不满足此关系式,那么方程无解。接着当方程有解的...

C语言编程,求方程根,求大神帮帮忙
\/*求一元二次方程ax*x+bx+c=0的解*\/ main(){ float a,b,c,x1,x2,d;printf("请输入a:");scanf("%f",&a);printf("请输入b:");scanf("%f",&b);printf("请输入c:");scanf("%f",&c);d=b*b-4*a*c;if(d < 0)printf("方程没有实数解。\\n");if (d==0){ x1=(...

c++求一元二次方程ax^+bx+c=0的根
define ESSP 0.00000001 void main(){ double a,b,c,delta,root1,root2;cout<<"Please input a:";cin>>a;cout<<"Please input b:";cin>>b;cout<<"Please input c:";cin>>c;delta=b*b-4*a*c;if(delta<-ESSP)cout<<"This equation has no real root."<<endl;else if(delta>...

相似回答