用C++设计一个程序,求出一元二次方程ax^2+bx+c=0的根系数a.b.c的值从键盘上输入.求方程根的计算公式为x=(-b+-根号下b^-4ac)/2a当平方根小于0时,输出“No solutions!";否则,输出x的两个实根.
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/06 00:19:16
用C++设计一个程序,求出一元二次方程ax^2+bx+c=0的根系数a.b.c的值从键盘上输入.求方程根的计算公式为x=(-b+-根号下b^-4ac)/2a当平方根小于0时,输出“No solutions!";否则,输出x的两个实根.
用C++设计一个程序,求出一元二次方程ax^2+bx+c=0的根
系数a.b.c的值从键盘上输入.求方程根的计算公式为x=(-b+-根号下b^-4ac)/2a
当平方根小于0时,输出“No solutions!";否则,输出x的两个实根.
用C++设计一个程序,求出一元二次方程ax^2+bx+c=0的根系数a.b.c的值从键盘上输入.求方程根的计算公式为x=(-b+-根号下b^-4ac)/2a当平方根小于0时,输出“No solutions!";否则,输出x的两个实根.
C++的代码:
#include <iostream.h>
#include <math.h>
void main(void)
{
double a,b,c,d;
char ch('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;
else if(d<0)cout<<"方程有两个不相等复根:"<<-b/(2*a)<<"+i"<<sqrt(-d)/(2*a)<<' '<<-b/(2*a)<<"-i"<<sqrt(-d)/(2*a)<<endl;
else cout<<"方程有两个不相等实根:"<<-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');
}