方程组求解

1.问题描述

编程序,求方程ax2+bx+c=0的根

2.问题分析

根据题目要求,要定义几个未知数a,b,c,d,x1,x2

d用来计算b*b-4*a*c

这个表达式的值用来判断方程组有没有解

3.算法设计

要用到多个if语句 

有三种情况,分别是大于0,小于0,等于0,需要分开讨论

4.程序

#include<iostream>
#include<cmath>//这里不要忘记调一下数据库
using namespace std;
int main()
{
    double a, b, c, x1, x2;
    cout << "请输入二元一次方程组二次项系数a" << endl;
    cin >> a;
    cout << "请输入二元一次方程组一次项系数b" << endl;
    cin >> b;
    cout << "请输入二元一次方程组常数项系数c" << endl;
    cin >> c;
    double d = b * b - 4 * a * c;
    cout << "d=" << d << endl;
    if (a == 0 && b == 0)
    {
        cout << "方程组无解" << endl;
    }
    if (a == 0)//a=0,变成一次方程
    {
        cout << "方程组解为"<< -c/b<<endl;
    }
    if (d == 0) //a不为0才有两个解
    {
        x1 = (-b) / (2 * a);
        cout << "方程组解为" << x1 << endl;
    }
    if (d < 0)
    {
        cout << "方程组无解" << endl;
    }
    if (d > 0)
    {
        x1 = (-b + sqrt(d)) / (2 * a);
        x2 = (-b - sqrt(d)) / (2 * a);
        cout << "x1=" << x1 << endl;
        cout << "x2=" << x2 << endl;
    }
    return 0;
}

 

posted @ 2023-05-17 23:47  酥饼馅红豆沙  阅读(17)  评论(0编辑  收藏  举报