永发信息网

一道C语言结构题,求大神解答: n个人依次报数,每报到m从圈中退出,依次输出退出人的号码(用数组)

答案:2  悬赏:20  手机版
解决时间 2021-02-05 19:41
一道C语言结构题,求大神解答: n个人依次报数,每报到m从圈中退出,依次输出退出人的号码(用数组)
最佳答案
main()
{int a[100],i,j,k;
for(i=0;i<100;i++)
 a[i]=1;
for(i=k=0;k<100;k++)
 {j=0;
  while(j<10)
   {i=(i+1)%100;
    if(a[i])
     j++;
   }
  a[i]=0;
 }
printf("%d
",i);
getch();
}
全部回答
#include
#include
#include
#include
void c()//清空输入缓冲函数
{
    char c;
    while((c=getchar())!=EOF&&c!=' ');
}
int main()
{
    int n,m;
    printf("输入人数:");
    scanf("%d",&n);
    c();
    printf("输入报数:");
    scanf("%d",&m);
    c();
    char *arry=(char *)malloc(sizeof(char)*n);//建立动态数组
    bzero(arry,0);//置零
    int next=-1,num=n,j=0;//next表示下标,从next+1开始报数,num表示还剩多少人,j是计数器表示报数到多少了,从0开始
    while(1)
    {
        if(num==1)//还剩一个
            break;
        while(j        {
            next=(next+1)%n;
            if(arry[next]==0)//0表示这个人没有退出
                j++;
        }
        j=0;
        arry[next]=1;//1表示人已退出
        printf("%4d",next+1);
        num--;
    }
    printf(" ");
    for(j=0;;j++)
    {
        if(arry[j]==0)
            break;
    }
    printf("第%4dwin ",j+1);
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
5km/min等于多少m/s
带兽字的网名
杨红理发店地址在什么地方,想过去办事
在单位时间内通过交通线路某一地点的客流量是
电鞭的意思是什么啊?知道的请说下!
想学西餐,好不好发展?工资待遇如何?
兰陵王妃皇上谁演的
have you in my life is happess怎么翻译
7200÷81的筒便运算
爱美汇专业美发地址好找么,我有些事要过去
霜筠的意思是什么啊?知道的请说下!
《英语文摘》上带星号的生词是什么意思?和其
你好我父亲去世了怎样写到家堂怎样写谢谢!
纯情罗曼史小兔老师是谁配音的
知道固定电话能帮我查一下详细地址吗
推荐资讯
求一个office2013proplus vol神key
陈杰觉得自己各方面都比别人强,只看到别人的
钟爱一生婚纱摄影(江北大道湖畔人家)地址在哪
锦鲤身上长黑斑是怎么回事
急,能否用45号钢做尼龙的注塑模具?使用寿命
中国移动恒昌手机卖场我想知道这个在什么地方
为什么见到熟人我也不想去打招呼的?
7/3,5/2,6/5,11,9/2,11/7,8,后面添什么数
俏一朵茶具馆怎么去啊,我要去那办事
億康茶坊地址在什么地方,想过去办事
浩沙健身(中关村店)地址在哪,我要去那里办事
一毛钱硬币有几克?一块钱硬币有几克?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?