c语言编一个简单的剪刀石头布游戏?

Python019

c语言编一个简单的剪刀石头布游戏?,第1张

用1、2、3来表示剪刀、石头、布,然后先用scanf函数读取用户的输入,再用rand函数产生一个随机数,最后进行比较就可以了。#include#include#includevoidmain(){intcom,usercharcsrand((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)//用电脑产生的数和用户输入的数的差值来判断胜负{case0:printf("平手\n")breakcase1:case-2:printf("电脑赢了\n")breakcase-1:case2:printf("你赢了\n")}printf("继续游戏按y键、其它键退出")getchar()c=getchar()}while(c=='y'||c=='y')printf("已经退出游戏")}

帮你修改了一下判断部分。你试试吧:

#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

}