请问这段代码要怎么修改才能实现?


#include<stdio.h>
int main()
{
    int i,j,n,w,s,num;
    while(scanf("%d",&n)!=EOF)
    {
        char a[n][15];
        for(i=0;i<n;i++)
           scanf("%s",a[i]);
        scanf("%d%d",&w,&s);
        int N=n;
        for(i=w-1;n>=0;n--)
        {
        printf("%s",a[i]);
        a[i][0]='0';
        num=0;
        while(num<s)
        {
            if(i=N)
                i=0;
            if(a[i][0]=='0') 
                i++;
            else
            {
                i++;
                num++;
            }
        }
        }    
    }
    return 0;
}

有 N 个小孩围成一圈,给他们从 1 开始依次编号,现指定从第 W 个开始报数,报到第 S 个时,该小孩出列,然后从下一个小孩开始报数,仍是报到 S 个出列,如此重复下去,直到所有的小孩都出列(总人数不足 S 个时将循环报数),求小孩出列的顺序。

输入描述
第一行输入小孩的人数 N(N<=64)

接下来每行输入一个小孩的名字 (人名不超过 15 个字符)

最后一行输入 W,S (W < N),用逗号 "," 间隔

输出描述
按人名输出小孩按顺序出列的顺序,每行输出一个人名

样例输入
5

Xiaoming

Xiaohua

Xiaowang

Zhangsan

Lisi

2,3

样例输出
Zhangsan

Xiaohua

Xiaoming

Xiaowang

Lisi

可以参考:https://www.luogu.com.cn/problem/solution/P1996