C语言问题,关于循环报数 #include main(){ int circle[17]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}; int call; int number; int i; number=17; call=1; while(number>0) { for(i=1;i<> if(call%3!=0&&circle[i]!=-1){ call++; }else if(call%3=0){ circle[i]=-1; number--; call++; } } } for(i=1;i<> while(circle[i]!=-1){ printf('the num is %d',i); } } system('pause'); } 编译失败,显示错误提示是需要逻辑0或非0在main函数中,求解释 ------解决方案--------------------
int circle[17]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}; int call; int number; int i=0; number=16;//出队次数 call=1;//出队循环变量 while(number>0) { if((circle[i]!=-1))//当前元素未出队 { if((call%3) == 0)//当前到循环点 { circle[i]=-1; call++; number--; } else { call++; } }
i++; if(i>=17) i%=17;
}
for(i=0;i<> { if(circle[i]!=-1) { printf('the num is %d\n',i); } }
system('pause');
更改了你的求解逻辑 ------解决方案--------------------
你代码有点问题, 帮你改了一下:
#include int main() { int circle[17]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}; int call; int number; int i; number=16; call=1; while(number>0) { for(i=0;i<> if(circle[i] != -1) {