注册 登录
编程论坛 C++教室

请用c++来求解一元二次方程

yhm354 发布于 2016-05-26 20:35, 4204 次点击
请编一个c++程序用来求解一元二次方程ax2+bx+c=0。参数:a,b,c为方程的系数,x1,x2为方程的两个根。使返回值为0时表示成功,<0时表示不成功。谢谢
2 回复
#2
n7651625852016-06-01 23:42
{
                        //求一元二次方程的解的代码
                        printf("请输入一元一次方程的a,b,c三个数:");
                        scanf("%lf%lf%lf",&a,&b,&c);
                        Rad = b*b - 4*a*c;
                        if (Rad > 0)
                        {
                           x1 = -b + sqrt(Rad) / (2*a);
                           x2 = -b - sqrt(Rad) / (2*a);
                         printf("有两个解 x1 = %lf, x2 = %lf\n",                                       &x1, &x2);
                        }
                        else if (Rad == 0)
                        {
                           x1 = -b / (2*a);
                           printf("只有一个解 x1 = %lf\n", &x1);
                        }
                        else
                        {
                           printf("无解\n");
                        }
                }
#3
暮笙2016-06-04 13:38
#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
int main()
{
    float a,b,c;
    float x1,x2;
    cout<<"请输入a,b,c的值:";
    cin>>a>>b>>c;
    float  t=b*b-4*a*c;
    if(t<0)
           cout<<"此方程无实数根"<<endl;
    else
        x1=(-b+sqrt(t))/(2*a);
        x2=(-b-sqrt(t))/(2*a);
        cout<<setiosflags(ios::fixed)<<setiosflags(ios::left);
        cout<<setprecision(4);
        cout<<"x1="<<x1<<endl;
        cout<<"x1="<<x2<<endl;
        system("pause");
        return 0;
}
1