每天打卡一小时 第二十七天
#include <iostream> using namespace std; int main() { int stones = 20; // 石头总数 int max_stones = 3; // 每次最多取石头的数量 int n = 1; // 当前轮到的玩家编号 int take; // 此次取走的石头数量 while (stones > 0) { cout << "现在有 " << stones << " 块石头。" << endl; cout << "玩家 " << n << ", 请取走 1 到 " << max_stones << " 块石头:"; cin >> take; // 检查取走的数量是否在合法范围内 while (take <= 0 || take > max_stones || take > stones) { cout << "无效的数字,请重新输入:"; cin >> take; } // 取走石头 stones -= take; // 轮到下一个玩家 n = (n == 1) ? 2 : 1; } // 游戏结束,输出胜者 cout << "恭喜玩家 " << n << " 获胜!" << endl; return 0; }