第03天C语言(18):石头剪子布

一、概念

/* #include arc4random_uniform(3); //arc4random_uniform 方法会根据传入的整数 生成一个随机数 生成的值 就是 0~[N-1]的值 0~2 */

二、代码
#include #include// 随机数的一个库int main() { /* 有两个角色 : 玩家(我), 电脑 两个角色都可以出0 == 石头/ 1 == 剪刀/ 2 == 布 由于我们不知道玩家 和 电脑到底出的什么拳, 所以我们用 0、1、2 来代替 石头 / 剪刀 / 布 玩家的出拳 可以让用户自己输入 电脑的出拳 必须生成一个 随机数, 如何生成一个随机数? 将玩家出拳 和 电脑的出拳进行比较, 得到比赛结果 */// 石头 > 剪刀 / 剪刀 > 布 / 布 > 石头 #pragma 1. 随机数 (导入) // 1. 生成电脑的出拳 // arc4random_uniform(3); //arc4random_uniform 方法会根据传入的整数 生成一个随机数 // 生成的值 就是 0~[N-1]的值 int cmp = arc4random_uniform(3); printf("cmp = %i \n",cmp); // 2.接收玩家的出拳 // 2.1 定义变量保存玩家的出拳 int player = -1; // 2.2 利用scanf接收 printf("请输入出拳, 0代表拳头,1代表剪刀,2代表布\n"); scanf("%i",&player); // 3.比较玩家 和 电脑的出拳 /* if (玩家石头 电脑剪刀 || 玩家剪刀电脑布 || 玩家布 电脑石头) { printf("玩家获胜"); } else if (电脑石头 玩家剪刀 || 电脑剪刀玩家布 || 电脑布 玩家石头) { printf("电脑获胜"); } else { printf("和局"); } */ // 4.输出结果if (((0 == player) && (1 == cmp)) || ((1 == player) && (2 == cmp)) || ((2 == player) && (0 == cmp))) { printf("玩家获胜\n"); } else if (((0 == cmp) && (1 == player)) || ((1 == cmp) && (2 == player)) || ((2 == cmp) && (0 == player))) { printf("电脑获胜\n"); } else { printf("和局\n"); }printf("玩家出拳 %i,电脑出拳 %i\n",player,cmp); return 0; }

    推荐阅读