最近认真学习了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;
} |
|