如何在让调用的函数返回两个值或不返回值,如果做不到的话还有什么方法实现下题(第二题)

img


#include<iostream>
#include<cmath>
using namespace std;
int main()
{
    float a, b, c;
    float f1(float a, float b, float c);
        float f2(float a, float b, float c);
        float f3(float a, float b, float c);
    cout << "请输入a,b,c  ";
    cin >> a >> b >>c;
    if (b * b - 4 * a * c > 0)
        cout << f1(a, b, c);
    if (b * b - 4 * a * c == 0)
        cout << f2(a, b, c) << endl;
    if (b * b - 4 * a * c < 0)
        cout << f3(a, b, c) << endl;
    return 0;
}

float f1(float a, float b, float c)
{
    float x1, x2;
    x1 =( -b + sqrt(b * b - 4 * a * c) )/ 2 / a;
    x2= (-b - sqrt(b * b - 4 * a * c)) / 2 / a;
    cout << x1 << ' ' << x2 << endl;
    return 0;

}

float f2(float a, float b, float c)
{
    float x;
    x = -b / 2 / a;
    return x;
}

float f3(float a, float b, float c)
{
    cout << "该函数无实数解";
    return 0;
}

#include<iostream>
#include<cmath>
using namespace std;
float f1(float a, float b, float c);
float f2(float a, float b, float c);
float f3(float a, float b, float c);


int main()
{
    float a, b, c;

    cout << "请输入a,b,c  ";
    cin >> a >> b >>c;
    if(a==0)
        cout << "这个不是一元二次方程!";
    else {
        if (b * b - 4 * a * c > 0)
             f1(a, b, c) ;
        else if (b * b - 4 * a * c == 0)
             f2(a, b, c) ;
        else
             f3(a, b, c) ;
    }
}
float f1(float a, float b, float c)
{
    float x1, x2;
    x1 =( -b + sqrt(b * b - 4 * a * c) )/ 2 / a;
    x2= (-b - sqrt(b * b - 4 * a * c)) / 2 / a;
    std::cout << x1 << ' ' << x2 << std::endl;
    return 0;
}
float f2(float a, float b, float c)
{
    float x;
    x = -b / 2 / a;
    std::cout << x << std::endl;
    return 0;
}
float f3(float a, float b, float c)
{
    std::cout << "这个函数无实数解" << std::endl;
    return 0;
}