| #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循环卡住了
 |