杀人游戏

杀人游戏
七个人1 2 3 报数,报到3的死亡,直到只剩下一个人。最后剩下的为赢家

/*
参数人数:7
对每一个人从1开始编号 int

死亡号码:3
报数 只要报道3的同学都死亡 后面的继续从1开始报数
*/
#import 
#define KILLED -1

int main(int argc, const char * argv[]) {
   int total = 0;
   int number[10] = {};
   int killNumber = 0;
   int count = 0;
   int totalKilledNumber = 0;
   
   printf("请输入参与人数:");
   scanf("%d", &total);
   
   //给数组赋值 编号
   for (int i = 0; i < total; i++) {
       number[i] = i+1;
   }
   
   printf("请输入死亡号码:");
   scanf("%d", &killNumber);
   
   //开始游戏了
   for (int i = 0; i < total; i++) {
       //判断指向的这个人有没有被杀掉
       if (number[i] != KILLED){
           //报数
           count = count + 1;
       }
       
       //判断当前编号是不是到了死亡号码
       if (count == killNumber){
           //杀掉这个人
           number[i] = KILLED;
           
           //还原编号
           count = 0;
           
           //死亡人数+1
           totalKilledNumber ++;
           
           //是不是该结束了
           if (totalKilledNumber == total-1){
               break;
           }
       }
       
       //判断这一次循环是不是到末尾了
       if (i == total-1){
           //让i回到起始点
           i = -1; //防止++ 导致回到第二个
       }
   }
   
   printf("\n");
   //测试一次之后的结果
   for (int i = 0; i < total; i++){
       printf("%d ", number[i]);
   }
   return 0;
}

你可能感兴趣的:(杀人游戏)