C ++ While循环以间隔获取数字

问题描述

如果一个数字不在区间[[-10,100)中,则该数字如何减去它之前的1,直到在该区间中,或者在该区间中加一个,该怎么做? //检查数字是否在范围内

enter image description here

解决方法

与cigien的回答相同的精神,但没有c ++ 17:

auto r = std::max(-10,std::min(x,99));
,

您不需要为此循环。只需使用std::clamp

auto result = std::clamp(number,-10,99);
,

您可以通过使用条件语句和迭代语句轻松地做到这一点。即使用^|loops可以解决您的问题。

代码如下:

if