问题描述
如果一个数字不在区间[[-10,100)中,则该数字如何减去它之前的1,直到在该区间中,或者在该区间中加一个,该怎么做? //检查数字是否在范围内
解决方法
与cigien的回答相同的精神,但没有c ++ 17:
auto r = std::max(-10,std::min(x,99));
,
您不需要为此循环。只需使用std::clamp
:
auto result = std::clamp(number,-10,99);
,
您可以通过使用条件语句和迭代语句轻松地做到这一点。即使用^|
和loops
可以解决您的问题。
代码如下:
if