无声的解释
main()
{
int a[100];
.
.
.
p=a;
for(i=0;i<n,i++)/*给每个学生编号*/
*(p+i)=i+1;
i=0;/*循环变量*/
k=0;/*报数计数变量*/
j=0;/*退出人数*/
while(j<n-1)
{
if(*(p+i)!=0)k++;/*==0则指向0,k值不变,i变*/
if(k==m)
{
*(p+i)=0;/*退出学生编号为0*/
k=0;/*恢复为0*/
j++;
}
i++;
if(i==n)i=0;/*从头指向*/
}
while(*p==0)p++;
printf();
}
/*看前面有多少0*/
ps:k = 1,2,3,4,0,1,2,3,4,0
1,2,3,4,4,0,1,2,3,3
4,0,1,2,2,2,3,4,.....
1,2,3,4,5,6,7,8,9,10
[[it] 本帖最后由 liyanhong 于 2008-5-22 11:49 编辑 [/it]]