A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

最近认真学习了C语言中的程序结构,下面就是用选择分支结构实现石头剪刀布这个小游戏
下面先介绍算法的思想:
1.定义两个个变量  电脑和用户,并且 剪刀 0 石头 1 布  2
2.利用随机数,电脑出拳。注意,产生随机数的头文件是stdlib.h
    computer= arc4random_uniform(3);//0 1 2
  或者
    computer=arc4random()%3;
3.提醒用户出拳
4.接收用户的出拳
5.判断用户的出拳是否合理
6.用户出的拳和电脑出的拳做比较,判断输赢,输出比赛结果
     用户:0  电脑2    用户胜
     用户:1  电脑0    用户胜
     用户:2  电脑1    用户胜
下面给出此程序的代码:
#include <stdio.h>
#include <stdlib.h>

int main(int argc, const char * argv[]) {
   //1.定义两个个变量  电脑和用户,并且 剪刀 0 石头 1 布  2
    int player,computer;
   //2.利用随机数,电脑出拳
    //computer= arc4random_uniform(3);//0 1 2
    computer=arc4random()%3;
    printf("电脑的出拳为%d\n",computer);
   //3.提醒用户出拳
    printf("请出拳,其中0代表剪刀,1代表石头,2代表布\n");
   //4.接收用户的出拳
    scanf("%d",&player);

   //5.判断用户的出拳是否合理
    if(player<0||player>2)
    {
        printf("你的出拳不符合游戏规则\n");
        return 0;
    }
   //6.用户出的拳和电脑出的拳做比较,判断输赢,输出比赛结果
     //用户:0  电脑2    用户胜
     //用户:1  电脑0    用户胜
     //用户:2  电脑1    用户胜
    if((player==0&&computer==2)||
       (player==1&&computer==0)||
       (player==2&&computer==1))
        printf("恭喜你赢了\n");
    else if ((player==2&&computer==0)||
             (player==0&&computer==1)||
             (player==1&&computer==2))
        printf("很遗憾,你输了\n");
    else
        printf("平局\n");
    /*   使用下面这个函数更简洁,但是时间复杂度和空间复杂度一样,知识代码更简洁而已
     else if(player==computer )
        printf("平局\n");
    else
        printf("很遗憾,你输了\n");
   */
    return 0;
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马