题目描述
小乐乐学会了自定义函数,BoBo老师给他出了个问题,根据以下公式计算m的值。
图片说明
其中 max3函数为计算三个数的最大值,如: max3(1, 2, 3) 返回结果为3。
输入描述:
一行,输入三个整数,用空格隔开,分别表示a, b, c。
输出描述:
一行,一个浮点数,小数点保留2位,为计算后m的值。

根据题意

可以定义一个_max函数专门求出三个数中的最大值

其他的可以直接套公式来求解

下面是C++の代码

#include <cstdio> 
#include <iostream>
#include <algorithm>

using namespace std;

int _max(int a1, int a2, int a3)
{
    int max = a1;
    if (max < a2)
        max = a2;
    if (max < a3)
        max = a3;
    return max;
}//三个数中求最大值

int read() 
{
    int x=0;
    bool f = false;
    char ch;
    do ch=getchar(),f|=(ch=='-');
    while(ch<48||ch>57);
    while(ch>47&&ch<58)
        x=(x<<1)+(x<<3)+(ch^48),ch=getchar();
    return f?-x:x;
}//快读

int main()
{
    int a = read(), b = read(), c = read();
    int a1 = _max(a+b, b, c), b1 = _max(a, b + c, c), c1 =_max(a, b, b+c);//公式中的三个部分
    double m =  (double)(a1 *1.0/ (b1*1.0 + c1*1.0)); //结果
    printf("%.2lf", m);//保留两位小数
    return 0;
}