meili 发表于 2022-10-27 15:28:09

用C++设计一个程序,求出一元二次方程ax^2+bx+c=0的根系数a.b.c的值从键盘上输入.求方程根的计算公式为x=(-b+-根号下b^-4ac)/2a当平方根小于0时,输出“Nosolutions!quot;;否则,输出x的两个实根.

<p>问题:用C++设计一个程序,求出一元二次方程ax^2+bx+c=0的根系数a.b.c的值从键盘上输入.求方程根的计算公式为x=(-b+-根号下b^-4ac)/2a当平方根小于0时,输出“Nosolutions!quot;;否则,输出x的两个实根.
<p>答案:↓↓↓<p class="nav-title mt10" style="border-top:1px solid #ccc;padding-top: 10px;">李晋蓉的回答:<div class="content-b">网友采纳  C++的代码:  #include<iostream.h>  #include<math.h>  voidmain(void)  {  doublea,b,c,d;  charch('y');  do{  cout<<"请依次输入二次方程ax^2+bx+c=0的系数(a不等于0):"<<endl;  cin>>a>>b>>c;  if(-0.0001<a<0.0001)//浮点数不宜直接判断相等  d=b*b-4*a*c;  if(d==0)cout<<"方程有两个相等实根:"<<-b/(2*a)<<endl;  elseif(d<0)cout<<"方程有两个不相等复根:"<<-b/(2*a)<<"+i"<<sqrt(-d)/(2*a)<<''<<-b/(2*a)<<"-i"<<sqrt(-d)/(2*a)<<endl;  elsecout<<"方程有两个不相等实根:"<<-b/(2*a)+sqrt(d)/(2*a)<<''<<-b/(2*a)+sqrt(d)/(2*a)<<endl;  cout<<"继续?(y/n):";cin>>ch;  }while(ch=='y'||ch=='Y');  }
页: [1]
查看完整版本: 用C++设计一个程序,求出一元二次方程ax^2+bx+c=0的根系数a.b.c的值从键盘上输入.求方程根的计算公式为x=(-b+-根号下b^-4ac)/2a当平方根小于0时,输出“Nosolutions!quot;;否则,输出x的两个实根.