实战游戏介绍
输入玩家数量并编号,接着输入死亡编号,根据死亡编号杀人,每死亡
一人,剩下的重新编号,继续按编号杀人,直至剩余最后一人。
考察知识
- 编号---数组
- define: 可以为数据类型定义别名,也可以为数值定义别名
#define INT int
#define KILLED -1
demon
#include <stdio.h> #define KILLED -1 int main(){ int num[50] = {}; //保存每个人的编号 int count = 0 ; //保存输入的人数 int killNum = 0; //被杀的人的编号 printf("请输入参与人数:"); scanf("%d", &count); //开始编号 for(int i = 0; i < count; i++){ num[i] = i+1; } printf("请输入杀人的编号:"); scanf("%d", &killNum); //开始游戏 int current = 0; //记录当前报数的位置 int totalKilled = 0; //记录当前死亡人数 for(int i = 0; i < count; i++){ //i指向的这个人开始报数 if(num[i] != KILLED){ current++; } //判断当前编号是不是死亡编号 if(current == killNum){ printf("死亡编号%d \n", num[i]); //杀掉 num[i] = KILLED; //还原 current = 0; totalKilled++; //当还剩一个的时候就退出循环 if(totalKilled == count-1){ break; } } //判断是否到末尾了 if (i == count-1){ i = -1; } } //最后输出结果 for(int i = 0; i < count; i++){ printf("%d ", num[i]); } return 0; }
运行结果
result