首页 > 代码库 > 39.输入任意的a,b,c求一元二次方程ax*x+bx+c=0的根?

39.输入任意的a,b,c求一元二次方程ax*x+bx+c=0的根?

//从这个小题中可以熟悉头文件#include<cmath>的使用//1、题目较为简单,只需运用判断语句即可//2、注意,声明变量时要想到根的无理性,同时需注意函数结果的强制类型转换,sqrt只支持double和float类型#include<iostream>#include<cmath>//可以使用一些常用函数using namespace std;int main(){    int a,b,c,d;    float x1,x2,x3;    cout<<"please input a,b and c: "<<endl;    cin>>a>>b>>c;    d=b*b-4*a*c;    if(d>0)    {        x1=((-b+(float)sqrt(d))/(2*a));//开根号函数的使用,注意强制类型转换        x2=((-b-(float)sqrt(d))/(2*a));        cout<<"方程有两个解:"<<endl;        cout<<"x1="<<x1<<" x2="<<x2<<endl;    }else if(d==0)    {        cout<<"方程有一个解:"<<endl;        x3=((-b)/(2*a));        cout<<"x="<<x3<<endl;    }else    {        cout<<"方程没有解。"<<endl;    }    return 0;}