實(shí)戰(zhàn)游戲介紹
輸入玩家數(shù)量并編號(hào),接著輸入死亡編號(hào)鄙币,根據(jù)死亡編號(hào)殺人肃叶,每死亡
一人,剩下的重新編號(hào)十嘿,繼續(xù)按編號(hào)殺人因惭,直至剩余最后一人。
考察知識(shí)
- 編號(hào)---數(shù)組
- define: 可以為數(shù)據(jù)類型定義別名绩衷,也可以為數(shù)值定義別名
#define INT int
#define KILLED -1
demon
#include <stdio.h> #define KILLED -1 int main(){ int num[50] = {}; //保存每個(gè)人的編號(hào) int count = 0 ; //保存輸入的人數(shù) int killNum = 0; //被殺的人的編號(hào) printf("請(qǐng)輸入?yún)⑴c人數(shù):"); scanf("%d", &count); //開始編號(hào) for(int i = 0; i < count; i++){ num[i] = i+1; } printf("請(qǐng)輸入殺人的編號(hào):"); scanf("%d", &killNum); //開始游戲 int current = 0; //記錄當(dāng)前報(bào)數(shù)的位置 int totalKilled = 0; //記錄當(dāng)前死亡人數(shù) for(int i = 0; i < count; i++){ //i指向的這個(gè)人開始報(bào)數(shù) if(num[i] != KILLED){ current++; } //判斷當(dāng)前編號(hào)是不是死亡編號(hào) if(current == killNum){ printf("死亡編號(hào)%d \n", num[i]); //殺掉 num[i] = KILLED; //還原 current = 0; totalKilled++; //當(dāng)還剩一個(gè)的時(shí)候就退出循環(huán) if(totalKilled == count-1){ break; } } //判斷是否到末尾了 if (i == count-1){ i = -1; } } //最后輸出結(jié)果 for(int i = 0; i < count; i++){ printf("%d ", num[i]); } return 0; }
運(yùn)行結(jié)果