//50个人报数每次数到7出列,求最后出列的人(每个人的出列顺序) #define MAXLEN 50 #define NUMBER 7 int main() { int map[MAXLEN]={0}; int q=0,t=0; for (int i=1;i<=MAXLEN;++i) { if (q==MAXLEN) { break; } if (map[i-1]) { if (i==MAXLEN) { i=0; } continue; } else { ++t; } if (t==NUMBER) { map[i-1]=++q; t=0; } if (i==MAXLEN) { i=0; } } for (i=0;i<MAXLEN;++i) { if (map[i]==MAXLEN) { printf("The last person is No. %-d/n",i+1); } } for (i=0;i<MAXLEN;++i) { printf("No.%-d/tperson: %-d/n",i+1,map[i]); } return 0; }