C ++使用Max函数查找整数列表

时间:2016-02-10 18:26:05

标签: c++ max

这些是我正在编写的程序的内容,是否可以以某种方式找到最大值然后将其设置为int?稍后我的代码中的int不等于0.下面就是我想要的代码。

int Max = std::max(Face1,Face2, "and so on") << '\n'; 

#include <algorithm>
void RollDice() {
int Rolls = 0;
int Seed = 0;
int Random = 0;
int Face1 = 0;
int Face2 = 0;
int Face3 = 0;
int Face4 = 0;
int Face5 = 0;
int Face6 = 0; 

感谢任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:1)

只需将std :: max与初始化列表一起使用(将所有变量放在{...}之间):

#include <algorithm>
#include <iostream>

int main() {
    int Face1 = 0;
    int Face2 = 1;
    int Face3 = 2;
    int Face4 = 3;
    int Face5 = 2;
    int Face6 = 1;
    std::cout << std::max({ Face1, Face2, Face3, Face4, Face5, Face6 }) << '\n';
}

另一种方法是使用数组(c-array,std :: array,std :: vector,...) - 许多充当数组的变量可能很麻烦 - 并使用std::max_element(如前所述) @πάνταῥεῖ)。

答案 1 :(得分:1)

虽然可能有人认为最好有一个N面的数组来做到这一点,但是使用std :: max就像你要求你只需要将列表转换为初始化列表一样:

#include <iostream>
#include <algorithm>

int main() {
    int Face1 = 10, Face2 = 5, Face3 = 8, Face4 = 20, Face5 = 21, Face6 = 9;
    std::cout << std::max({ Face1, Face2, Face3, Face4, Face5, Face6 }) << "\n";
    return 0;
}

http://ideone.com/TcJKGt