怎么用C语言编写一个和电脑玩石头剪刀布的程序

怎么用C语言编写一个和电脑玩石头剪刀布的程序?

用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("已经退出游戏");
}
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-06-08
#include <stdio.h>
#include <time.h>
#include<stdlib.h>
#define random(x) (rand()%x)
void display(int x)
{
switch(x)
{
case 1:printf("石头\n");break;
case 2:printf("剪刀\n");break;
case 3:printf("布\n");break;
}
}
void judge(int x,int y)
{
switch(x)
{
case 1:if(y==2)printf("用户赢\n");
else printf("用户输\n");break;
case 2:if(y==1)printf("用户赢\n");
else printf("用户输\n");break;
case 3:if(y==1)printf("用户赢\n");
else printf("用户输\n");break;
}
}
void main()
{
int x;
int y;
srand((int)time(0));
while(1)
{
printf("请出拳:");
scanf("%d",&x);
if(x==0)
break;
printf("你出");
display(x);
while(1)
{
y=random(3);
if(y!=0)
break;
}
printf("电脑出");
display(y);
if(x==y)
printf("打和\n");
else
judge(x,y);
}
}本回答被网友采纳
第2个回答  2013-11-05
main()
{int <br/>}嗨,不想写了,我只说方法吧
用scanf()函数电脑要你输入一个数a(a=1,2,3)
随后由电脑产生1,2,3中的某个数,赋给b变量,然后a,b作比较,就可以知道谁赢了。
第3个回答  2013-11-05
1>从1石头,2剪刀,3布三个标量中随机产生两个标量.
2>再根据这三个量进行判定就OK了

怎么用C语言编写一个和电脑玩石头剪刀布的程序
用1、2、3来表示剪刀、石头、布,然后先用scanf函数读取用户的输入,再用rand函数产生一个随机数,最后进行比较就可以了。include <stdio.h> include include <stdlib.h> void main(){ int com,user;char c;srand((unsigned)time(NULL)); \/\/初始化随机数,如果没有这条语句,每次运行电脑产生...

用C语言编一个小游戏,注明编码,(简单易懂的游戏,不要复杂)
int main(){ char cq[][10]={"石头","剪刀","布"};int guess=-1,r,youwin=0,mewin=0,daping=0,total=0;srand(time(NULL));while(1){ r=(int)((rand()\/(RAND_MAX+1.0))*3);printf("0、石头\\n1、剪刀\\n2、布\\n3、退出\\n我已出,请你出:");scanf("%d",&guess);if(...

C语言编写程序:和电脑剪刀石头布 怎么让电脑随机输出数字1、2、3 怎么...
a; char man; printf("输入A代表“剪刀”,B代表“石头”,C代表“布”\\n"); printf("电脑用1代表“剪刀”,2代表“石头”,3代表“布”\\n"); printf("【输入格式】:你输入的拳头是:"); scanf

c语言剪刀石头布小游戏
char m;\/\/表示选择的是哪个人 int a,b;\/\/分别表示人和电脑 printf("(J)iandao, (S)hitou, hu(B)u :\\n");scanf("%c",&m);if(m!='J' && m!='S' && m!='B')printf("Input error!\\n");else\/\/分别用0,1,2代表石头,剪刀,布 { srand(time(NULL));a = rand()%3;swi...

用C语言编写一个石头剪子布游戏,具体要求如下,高分急求
include<string.h> char name[100],way[3][10]={"石头","剪子","布"},mode_name[2][20]={"三局两胜","五局三胜"};void new_game(int mode,int *p_win,int * p_lose,int *p_tide){ char cmd[10];int computer,user,win=0,lose=0;int cnt[2]={3,5};printf("***当前...

C语言设计一个石头剪刀布游戏c代表布h代表锤子s剪刀g查看结果q退出游戏...
int main(){ char *c[3] = { "剪刀", "石头", "布" };int pc, user, result;while (1){ srand((unsigned)time(NULL));pc = rand() % 3;\/\/随机出现石头剪刀布printf("g=剪,s=石,h=布\\n");printf("该你出手了:");scanf("%c",&user);\/\/自己输入石头剪刀布之一 if (...

用C语言如何编写一个石头剪子布的程序
用C语言编写一个石头剪子布的程序石头=1;剪子=2;布=3先是人输入一个数放在变量ren了然后是程序随机产生三个数(1,2,3)放在变量ji里if(ren==ji) printf("REPLAY!");esle if(ren==1&&ji==2) printf("YOU WIN");else if(ren==2&&ji==3) printf("YOU WIN");else if(ren==3&&ji==1) printf...

c 语言石头剪刀布
为了用C语言实现石头剪刀布游戏,我们首先需要定义两个整型变量,分别代表玩家甲和玩家乙的选择。接着,我们通过循环让玩家进行多次游戏,直到程序终止为止。每次游戏时,我们要求玩家输入他们的选择。如果他们的选择相同,输出平局;如果甲胜,输出“甲赢”;如果乙胜,输出“乙赢”。下面,我们来详细解释每...

C语言石头剪刀布程序
你试试吧:#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(...

c语言初学者,要做一个石头剪刀布的程序,不知道怎么做,求大神看看_百度...
include<stdio.h>int main(){printf("0表示石头.\\n"); printf("1表示剪刀.\\n"); printf("2表示布.\\n"); printf("请出拳.\\n"); int a,b,c; scanf("%d%d,&a,&b");c=a-b;switch(c){case -2: printf("后手赢.\\n"); break;case -1: printf("先手赢.\\n"); break;case...

相似回答