Я получил условие if как кратное 5, мне нужно проверить условие до значения <= 10000. Оператор if выглядит так:
// in main function
if(value >=0 && value <16){
function(number,value);
}
else if(value >=5 && value <10){
value-=16;
function(number,value);
}
....
// function
int function(int n, int value){
return (n<<value)|(n>>(16-value))
}
Есть ли лучший способ сделать это, если инструкция. Я новичок в мире программирования и немного любопытно знать, как это сделать.
заранее спасибо
Поместите суммы, которые вы вычитаете из value
в массив, индексированный несколькими из 5 для каждого диапазона:
int subtract[] = [2, 5, ...];
if (value > 0 && value < 5*(sizeof subtract/sizeof(*subtract))) {
value -= subtract[value/5];
functioncall(value);
}
Вы можете использовать указатели на функции.
typedef void (*func)();
func fpointers[] = {func1, func2, func3}
int check = value / 5;
fpointers [check] ();
Если вам нужно оценить условие для кратных 5, я предлагаю вам использовать swich case
int check = value/5;
switch(check)
{
case 0: // 0 <= value < 5
// do things
break;
case 1 : // 5 <= value < 10
// do things ...
break;
.............
default:
break;
}
value/5
, то просто сделайте это вместо того, чтобы писать множество случаев.
Я получил условие if как кратное 5
Чтобы проверить, является ли число кратным 5, используйте оператор модуля:
if (number % 5 == 0) ...
мне нужно проверить, будет ли условие до значения <= 10000
Это звучит так, будто вам нужен цикл.