教给大家两个新方法

· · 题解

众所周知,在 algorithm 库中有一个 max 函数,但你不知道的是 ISO c++11max 可以接受多个参数,前提是要用中括号括起来,如:

int a = max({9, 9, 12, 97301, 937});

还有,printf 支持输出保留小数点位数的数,但是很多人不知道 cout 也可以,但是需要包含头文件 iomanip,代码:

cout << fixed << setprecision(位数) << 值;

代码:

#include <iostream>
#include <algorithm>
using namespace std;

int main()
{
    double a, b, c;
    cin >> a >> b >> c;
    cout << fixed << setprecision(3) << max({a, b, c}) / (max({a + b, b, c}) * max({a, b, b + c})) << endl;
    return 0;
}