现在的位置: 首页 > 综合 > 正文

选班长的C语言实现

2018年05月09日 ⁄ 综合 ⁄ 共 608字 ⁄ 字号 评论关闭

// 演示选班长,定义一个数组,存储所有人,
// 程序开始时,每个人都有可能是班长,所以每个人的值都为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<len; i++) {
  men[i] = i+1;
 }
 
 i = start - 1;
 while (out<len-1) {
  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<len; i++) {
  if (men[i] != 0) {
   printf("班长是:men[%d]: %d/n", i, men[i]);
   return men[i];
  }
 }
}

抱歉!评论已关闭.