用C语言编写一个程序:模拟两个人玩石头剪刀布的过程,使用数组来存储每个人的选择,并判断胜负
时间: 2024-10-15 21:26:04 浏览: 28
在C语言中,可以创建一个包含"rock", "paper", 和 "scissors" 的字符串数组来表示玩家的选择,然后随机生成电脑的选择并与用户的输入比较。以下是基本的模拟程序:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h> // 需要用到时间库,用于生成随机数
// 定义玩家和电脑的选择数组
const char* choices[] = {"rock", "paper", "scissors"};
int main() {
srand(time(0)); // 设置随机种子
int user_choice;
printf("玩家,请出拳(1. rock 2. paper 3. scissors):");
scanf("%d", &user_choice);
user_choice -= 1; // 因为我们从1开始计数,所以减去1对应数组下标
int computer_choice = rand() % 3; // 电脑随机选择,范围0~2
printf("电脑出了 %s\n", choices[computer_choice]);
// 判断胜负
switch ((user_choice + computer_choice) % 3) {
case 0: // 平局
printf("平局!\n");
break;
case 1: // 用户赢
printf("恭喜,你赢了!电脑出了 %s\n", choices[user_choice]);
break;
case 2: // 电脑赢
printf("很遗憾,你输了。电脑出了 %s\n", choices[computer_choice]);
break;
}
return 0;
}
```
此程序首先让用户输入他们的选择,然后让电脑随机选择。接着使用一个switch语句根据两者的组合(石头对剪刀、剪刀对布、布对石头)来判定胜负。
阅读全文