题目:有n个人围成一圈,顺序排号.从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来的第几号的那位 思路:用一个数组存这n个人,里面的初始状态全设为1,表示都还在圈子里面. 然后用q来记录报的号,因为每次报号报到3的人就得退出圈子,用j来表示圈子内剩余的人数. 每当有人报到3时,j-1,同时将数组中该元素的值标记为0,q清0. 这样while循环结束后,数组中就只会剩下一个人的值为1,输出那个人的序号+1即可(数组是从0开始,所以+1) #include<stdio.h