// 演示选班长,定义一个数组,存储所有人,
// 程序开始时,每个人都有可能是班长,所以每个人的值都为1,
// 一旦这个人被出局,则值变为0,
int select() {
int i=0; // 数组的下标
int loop = 0; // 出局的循环
int loopSize = 2; // 出列的数字
int len = 5; // 数组的长度
int men[5]; // 要选班长的数组
int out = 0; // 出局人数
int start = 2; // 从第几个人开始数
for (i = 0; i
men[i] = i+1;
}
i = start - 1;
while (out
if (men[i] != 0) {
loop ++;
}
if (loop == (loopSize)) {
men[i] = 0;
printf("现在出局的人是:men[%d]: %d/n", i, men[i]);
out ++;
printf("现在已经淘汰了%d个人/n", out);
loop = 0;
}
i ++;
// 当i计数器超出数组的边界时,i重新开始计数
if (i == len) {
i = 0;
}
}
for (i=0; i
if (men[i] != 0) {
printf("班长是:men[%d]: %d/n", i, men[i]);
return men[i];
}
}
}