根据分糖果的选手版,用C语言编写一个人机版的版本,计算机每次选择的糖果数满足 如果剩余的糖果数大于4,电脑选择4-X颗糖果,其中X是上一轮选手选择的糖果数。 如果剩余的糖果在2到4之间,电脑选择的糖果数可以使得场上剩下的糖果数为1。 如果只剩下1颗糖果,那只能选择1颗糖果并失败。
时间: 2023-05-29 21:01:33 浏览: 109
092 分糖果 C语言源代码文件
实现代码如下:
```c
#include <stdio.h>
int main()
{
int candy = 10; // 初始糖果数
int lastPlayerChoice = 0; // 上一轮选手选择的糖果数
// 游戏开始
printf("现在开始分糖果游戏,初始糖果数为 %d。\n", candy);
while (candy > 0)
{
int computerChoice;
if (candy > 4) // 剩余的糖果大于4个
{
computerChoice = 4 - lastPlayerChoice;
printf("计算机选择了 %d 个糖果。\n", computerChoice);
}
else if (candy >= 2) // 剩余的糖果在2到4之间
{
computerChoice = candy - 1; // 取完该轮糖果后,场上只剩1个糖果
printf("计算机选择了 %d 个糖果。\n", computerChoice);
}
else // 只剩下1个糖果,失败
{
printf("游戏结束,你赢了!计算机只剩下1个糖果了。\n");
break;
}
candy -= (lastPlayerChoice + computerChoice); // 更新糖果数
printf("场上剩余 %d 个糖果。\n", candy);
// 让选手选择糖果数
int playerChoice;
do
{
printf("请你选择要取多少个糖果(1-3个):");
scanf("%d", &playerChoice);
} while (playerChoice < 1 || playerChoice > 3);
lastPlayerChoice = playerChoice; // 记录选手选择的糖果数
candy -= playerChoice; // 更新糖果数
printf("你选择了 %d 个糖果。\n", playerChoice);
printf("场上剩余 %d 个糖果。\n", candy);
if (candy == 0) // 糖果被取完了,判断胜负
printf("游戏结束,你输了!\n");
}
return 0;
}
```
阅读全文