写这代码装了装b。在c语言中0代表否,非0的数代表是。且!0==1。
猴子报数主要是模拟猴子的报数过程,简单模拟。
#include <stdio.h>
int main(){
int n,k,m;
while(scanf("%d %d %d",&n,&k,&m)&&n!=0)
{
int mk[105] = {0};//猴子
int f,tem = 0,sum = 0,mark = k;//tem来当报数,sum统计多少猴子退出了mark表示从第mark位猴子开始
while(sum<n)//当sum==n时表示猴子全部出去了就结束循环
{
for(f = mark;f <= n; f++)//f代表第f只猴子
{
tem+=!mk[f];//c语言中!0为1;用tem来表示猴子报的数
if(tem%m==0&&(!mk[f]))
{
if(sum!=0) printf(",");
sum++;
mk[f] = 1;//让mk[f]=1那么!1==0这样tem+=!mk[f];tem就不会增加
printf("%d",f);
}
}
mark = 1;//循环后让mark等于1,又从第一只开始
}
printf("\n");
}
return 0;
}