python求一元二次方程的虚数根_一元二次方程虚数根的求解

羽墨志

记录一切开心与不开心目录

⊙一元二次方程

⊙判别式

⊙求根公式

⊙代码实现

⊙运行结果

前两天在《一元二次方程实数根的求解》一文中给出了一元二次方程在实数范围内的求解方法,换言之,方程在复数范围内的求解方法还未给出,今天就来填补一下前两天留下的坑吧。毕竟出来混迟早是要还的!

1

一元二次方程

百度百科

只含有一个未知数(一元)并且未知数项的最高次数都是2(两次)的整式方程叫作一元二次方程。一元二次方程经过整理都可化成一般形式ax²+bx+c=0(a≠0)。其中,ax²叫作二次项,a是二次项系数;bx叫作一次项,b是一次项系数;c叫作常数项。

——再复习一下概念

2

判别式

判别式还是那个熟悉的判别式:

①当△>0时,方程有两个不相等的实数根;

②当△=0时,方程有两个相等的实数根;

③当△<0时,方程无实数根,但有2个共轭复根。

(其中,△=b²-4ac,a、b、c分别是一元二次方程的二次项系数、一次项系数以及常数项。)

3

求根公式

△=b²-4ac<0时,一元二次方程稍微有了点变化:

在△=b²-4ac<0时,将a、b、c的值带入求根公式:

就能计算得到一元二次方程在复数范围内的解。

4

代码实现/*** @file         :  equation.c* @author : Kevin* @version : 1.1.0.* @since        :  2019年7月23日18:20:17* @description : 求解一元二次方程*/#include #include #include /*** @function : main* @author : Kevin* @version : 1.1.0* @since : 2019年7月19日21:35:50* @description : main函数* @parameter : None* @return       :  None*/void main(int argc, char * argv[]){double a=0.0, b=0.0, c=0.0; //方程系数double delta = 0.0; //判别式double x1=0.0, x2=0.0; //方程的实根double real=0.0; //实部double imag=0.0; //虚部printf("Input the coefficient of equation:a,b,c\n");scanf("%lf,%lf,%lf",&a,&b,&c);fflush(stdin); //清空输入流缓冲区中的内容if(a != 0){delta = pow(b,2)-4*a*c;//△>0,方程有两个不等实根if(delta>0){x1 = (-b+sqrt(delta))/(2.0*a);x2 = (-b-sqrt(delta))/(2.0*a);printf("△=%.2f>0, the equation has two different real roots:\n",delta);printf("x1=%.2f, x2=%.2f.\n",x1,x2);}else if(delta==0)//△=0,方程有两个相等实根{x1=x2=-b/(2*a);printf("△=%.2f=0, the equation has two equal real roots:\n",delta);printf("x1=x2 = %.2f.\n",x1);}else//△>0,方程在实数范围内无解,但有两个共轭复数根{printf("△=%.2f<0, the equation has two complex conjugate roots:\n",delta);real = -b/(2.0*a);imag = sqrt(-delta)/(2.0*a);//输出两个共轭复数根if(imag>0){printf("x1=%.2f+%.2fi, x2=%.2f-%.2fi.\n",real,imag,real,imag);}else{printf("x1=%.2f%.2fi, x2=%.2f+%.2fi.\n",real,imag,real,-imag);}}}else //a=0,一元一次方程并给出解{printf("The equation is not a binary primary equation!\n");printf("Solution of the equation is %.2f.\n",-b/c);}}

5

运行结果

时间改变了我们的样子

却在心里留下了彼此的影子

26

星期五

2019年7月

想和你重新认识一次,从你叫什么名字说起。

——新海诚《你的名字》

一日一签

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:深蓝海洋 设计师:CSDN官方博客 返回首页
评论
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值