#include<stdio.h>
int main(){
int i,j=1,k=0;
int n,m;
int a[100];
for(i=0;i<100;i++)
a[i]=0;
printf("please input the number of the students\n");
scanf("%d",&n);
for(i=0;i<n;i++)
{
a[i]=j++;
if(j>3)
j=1;
}
for(i=0;i<n;i++)
{
if(a[i]==3)
{a[i]=0;
k++;}
}
//for(k=0;k<4;k++)
do
{
for (i=n-1;i>=0;i--)
{
if(a[i]!=0)
{ j=a[i];
break;
}
}
for(i=0;i<n;i++)
{
if(a[i]!=0)
{
if(j==3)
j=1;
a[i]=j++;
}
}
for(i=0;i<n;i++)
{
if(a[i]==3)
{a[i]=0;
k++;}
} } while(k==n-1);
for (i=0;i<n;i++)
{
if(a[i]!=0)
printf("剩下的学生的学号是%d",i+1);
} return 0;
}
为什么程序在do语句下面的第一个for循环卡住了 |