#include <stdio.h>
#include <stdlib.h>
#include<sys/types.h>
#include<sys/timeb.h>
main()
{
loop:
printf("欢迎来玩石头剪刀布,请使用键盘输入,0代表石头,1代表剪刀,2代表布。\n******************************************************\n")
int x,com,user
unsigned int seedVal
struct timeb timeBuf
ftime(&timeBuf)
seedVal=((((unsigned int)timeBuf.time&0xFFFF)+
(unsigned int)timeBuf.millitm)^
(unsigned int)timeBuf.millitm)
srand((unsigned int)seedVal)
x=rand()
com=x%3
scanf("%d",&user)
if(user>2)
printf("您的输入有误,请输入0、1、2中任意一个数字\n")
else
{
if(com==0)
{
if(user==0) printf("平手\n")
if(user==1) printf("输了\n")
if(user==2) printf("赢了\n")
}
if(com==1)
{
if(user==0) printf("赢了\n")
if(user==1) printf("平手\n")
if(user==2) printf("输了\n")
}
if(com==2)
{
if(user==0) printf("输了\n")
if(user==1) printf("赢了\n")
if(user==2) printf("平手\n")
}
}
goto loop
}
用1、2、3来表示剪刀、石头、布,然后先用scanf函数读取用户的输入,再用rand函数产生一个随机数,最后进行比较就可以了。#include <stdio.h>
#include <time.h>
#include <stdlib.h>
void main()
{
int com,user
char c
srand((unsigned)time(NULL))//初始化随机数,如果没有这条语句,每次念友运行电脑产生的随机数序列都是一样的
printf("进入游戏\n")
do{
printf("请出拳(1.剪刀、2.石头、3.布):")
scanf("%d",&user)
com=rand()%3+1//产生1-3范围内的随机数
printf("电脑出%s\n",com==1?"剪刀":com==2?"石头":"布")
switch(com-user) //用电脑产生的数和用户输入的数的差值来判断胜负
{
case 0:
printf("中樱平手\n"仔培槐)
break
case 1:
case -2:
printf("电脑赢了\n")
break
case -1:
case 2:
printf("你赢了\n")
}
printf("继续游戏按Y键、其它键退出")
getchar()
c=getchar()
}while(c=='y' || c=='Y')
printf("已经退出游戏")
}
player = int(input(“请出拳 石头(1)/剪刀(2)/布(3)”))
computer = 1
if((player == 1 and computer == 2) or
(player == 2 and computer == 3) or
(player == 3 and computer == 1)):
print(“欧耶!侍银配电脑弱爆老指了!”)
elif player == computer:
print(“心搏念有灵犀,再来一盘!”)
else:
print(“不行,我要和你决战到天明!”)
执行的时候,第一行一定要单独复制,因为你需要输入一个数值
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)