int max_range = 100;
// I do not want to add more else if.. Actually max range is still 100 with more else ifs.
// Range can take values from 0 to 100

if (range <= 10){
    a[0]= value;
}

else if (range > 10 && range <= 20){
    a[1]= value;
}

else if (range> 20 && range <= 30){
    a[2]= value;
}

else if (range > 30 && range <= 40){
    a[3]= value;
}

else if (range> 40 && <= max_range){
    a[4]= value;
}

这是简单的代码。我希望它删除嵌套的else并使用for循环。
如何将其转换为for循环?

最佳答案

您不需要循环,您只需执行一项操作即可。

a[std::max(0, std::min(4, (range - 1) / 10))] = value;

关于c++ - 将if-else转换为for循环,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46425550/

10-14 06:10