for循环给数组赋值,因为是从a[1]开始,所以需要26个元素的数值(int a[26],a[0]没有使用);
do while循环中,从a[1]开始逐个看,如果a[j]不等于0(等于0意味着已经退出了),计数就加1,如果是5的倍数,那么a[j]就退出,把a[j]设为0,这就是为什么 a[j] != 0 才计数的原因。
当j==25的时候,j重新设为1开始,因为a[26]的最后一个元素就是a[25];
count用来记录已经退出的个数,当等于25的时候退出循环,因为在退出前,有一个j++,所以最后一个退出的编号应该是j-1
供参考: 约瑟夫环问题(c语言数组实现) 1. 简单约瑟夫环问题:N https://blog.csdn.net/keepupblw/article/details/37610767
显然啊,出圈是按照5 10 15 20 25 6这样的顺序进行的。(因为原来的5已经删了,所以是6出圈)