有什么方法可以让这个函数更优雅吗?我是 C++ 新手,我不知道是否有更标准化的方法来做到这一点。这可以变成一个循环,这样变量的数量就不会像我的代码那样受到限制吗?
float smallest(int x, int y, int z) {
int smallest = 99999;
if (x < smallest)
smallest=x;
if (y < smallest)
smallest=y;
if(z < smallest)
smallest=z;
return smallest;
}
最佳答案
如果可能,我建议使用 C++11 或更高版本,它允许您在不实现自己的函数 (std::min) 的情况下计算所需的结果。正如其中一条评论中已经指出的那样,您可以这样做
T minimum(std::min({x, y, z}));
或
T minimum = std::min({x, y, z});
存储变量的最小值x
, y
和 z
在变量 minimum
类型 T
(注意 x
、 y
和 z
必须具有相同的类型或必须隐式转换为它)。相应地,同样可以得到最大值:std::max({x, y, z})
.
关于c++ - 在 C++ 中找到 3 个数字中最小的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9424173/