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

作者&投稿:示贷 (若有异议请与网页底部的电邮联系)
用C语言如何编写一个石头剪子布的程序~

#include
#include
#include
void main()
{
int com,user;
char c;
srand((unsigned)time(NULL)); //初始化随机数,如果没有这条语句,每次运行电脑产生的随机数序列都是一样的
printf("进入游戏
");
do{
printf("请出拳(1.剪刀、2.石头、3.布):");
scanf("%d",&user);
com=rand()%3+1; //产生1-3范围内的随机数
printf("电脑出%s
",com==1?"剪刀":com==2?"石头":"布");
switch(com-user) //用电脑产生的数和用户输入的数的差值来判断胜负
{
case 0:
printf("平手
");
break;
case 1:
case -2:
printf("电脑赢了
");
break;
case -1:
case 2:
printf("你赢了
");
}
printf("继续游戏按Y键、其它键退出");
getchar();
c=getchar();
}while(c=='y' || c=='Y');
printf("已经退出游戏");
}

扩展资料
C++编程: 石头剪子布
#include
#include
using namespace std;
int main()
{
int n;
char a[10],b[10];
cin>>n;
int c[n+3];
for(int i=1;i<=n;i++)
{
cin>>a>>b;
if(a[0]=='R')
{
if(b[0]=='R')
{
c[i]=0;
}
if(b[0]=='S')
{
c[i]=1;
}
if(b[0]=='P')
{
c[i]=2;
}
}
else if(a[0]=='S')
{
if(b[0]=='R')
{
c[i]=2;
}
if(b[0]=='S')
{
c[i]=0;
}
if(b[0]=='P')
{
c[i]=1;
}
}
else if(a[0]=='P')
{
if(b[0]=='R')
{
c[i]=1;
}
if(b[0]=='S')
{
c[i]=2;
}
if(b[0]=='P')
{
c[i]=0;
}
}
}
for(int i=1;i<=n;i++)
switch(c[i])
{
case 0:
{
printf("Tie
");break;
}
case 1:
{
printf("Player1
");break;
}
case 2:
{
printf("Player2
");break;
}
}
return 0;
}

#include#include#includeint main(){ int i = 3,a; char man; printf("输入A代表“剪刀”,B代表“石头”,C代表“布”
"); printf("电脑用1代表“剪刀”,2代表“石头”,3代表“布”
"); printf("【输入格式】:你输入的拳头是:"); scanf("%c",&man); srand((int)time(NULL));//用时间来获取随机数种子,产生不同的种子(如果没有这句,电脑只会出相同的种子,也就只会出一个拳头) a = rand() % i + 1;//rand()会获得一个0~RAND_MAX之间的整数(基于上面获得的随机数种子),对其取余数可以获得固定范围的一个数值这里取0~2,+1之后是1~3。 switch (a) { case 1: printf("【输出格式】:电脑出了剪刀
"); break; case 2: printf("【输出格式】:电脑出了石头
"); break; case 3: printf("【输出格式】:电脑出了布
"); break; default: printf("电脑出问题了233
"); break; } switch (man) { case 'A': printf("你出了剪刀
"); switch (a) { case 1: printf("平局
"); break; case 2: printf("电脑赢了
"); break; case 3: printf("你赢了
"); break; default: printf("我傻了你信么233
"); break; } break; case 'B': printf("你出了石头
"); switch (a) { case 1: printf("你赢了
"); break; case 2: printf("平局
"); break; case 3: printf("电脑赢了
"); break; default: printf("我傻了你信么233
"); break; } break; case 'C': printf("你出了布
"); switch (a) { case 1: printf("电脑赢了
"); break; case 2: printf("你赢了
"); break; case 3: printf("平局
"); break; default: printf("我傻了你信么233
"); break; } break; default: printf("你出问题啦~请输入ABC
"); break; } printf("不用客气哦~
");}

用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("已经退出游戏");
}

#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);
}
}

main()
{int <br/>}嗨,不想写了,我只说方法吧
用scanf()函数电脑要你输入一个数a(a=1,2,3)
随后由电脑产生1,2,3中的某个数,赋给b变量,然后a,b作比较,就可以知道谁赢了。

1>从1石头,2剪刀,3布三个标量中随机产生两个标量.
2>再根据这三个量进行判定就OK了


如何用c语言编写一个小游戏?
一、数学知识:长方形的面积S=a*b 长方形周长L=2*(a+b)其中a b分别为长方形的宽和高。二、算法分析:长方形面积及周长均依赖于宽和高,所以先要输入宽高值,然后根据公式计算,输出结果即可。三、参考代码:include <stdio.h>void main(){ double a,b; double L,S; scanf("%l...

怎样用C语言编一个两数相加的程序?
您可以使用C语言中的加法运算符(+)来编写一个两数相加的程序。以下是一个简单的示例程序:在上面的程序中,我们首先定义了三个变量:num1、num2和sum。num1和num2用于存储用户输入的两个数字,而sum用于存储这两个数字的和。接下来,我们使用printf函数提示用户输入两个数字,并使用scanf函数将用户...

用C语言做一个计算器,能实现加减乘除混合运算?
是的,可以使用C语言编写一个计算器程序,能够实现加、减、乘、除等混合运算。下面是一个简单的示例程序:```c include <stdio.h> int main() { char operator;double num1, num2, result;printf("Enter an operator (+, -, *, \/): ");scanf("%c", &operator);printf("Enter two ...

用c语言编写一个程序,从键盘上输入两个字符给字符变量a,b,并输出变...
程序代码如下:include <stdio.h> \/\/编译预处理命令 int main(int argc, char *argv[]) \/\/主函数,字符的声明 { char a,b; \/\/定义字符a,b scanf("%c %c",&a,&b); \/\/输入字符a,b printf("%c %c\\n",a,b);\/\/打印字符a,b return 0; \/\/返回并且输出a,b } 扩展...

用C语言怎么做?
很多大学生都或多或少的懂一点编辑语言,尤其是计算机系的,众说周知,c++语言是众多语言中比较简单易学的,那么要如何使用它来编写程序呢?下面将告知如何编写一个属于自己的小程序。工具\/原料 more 电脑一台(能联网) Visual C++ 6.0(完整绿色版)软件 方法\/步骤 1\/6分步阅读 想要编写软件首先得...

用c语言编写一个程序实现以下功能
include "stdio.h"int main(int argc,char *argv[]){int a,b;double x,y;char ch1,ch2;printf("Please enter the data...\\n");scanf("%d%d%lf%lf %c%c",&a,&b,&x,&y,&ch1,&ch2);printf("\\na=%d,b=%d\\nx=%f,y=%f\\nch1=%c,ch2=%c\\n",a,b,x,y,ch1,ch2);return ...

C语言设计一个简单的图形动画,用turboc2运行,怎样编写使图形动起来的...
1、首先,打开vc6.0,建立程序编写页面,建立C语言环境,声明两个整数型变量。2、随后,打出新的前三行,由于规律不明显,就用printf语句手动输入,要仔细观察模版。3、观察可得,中间三行相同,就可以使用for循环,循环三行,每行的个数要仔细计算,模版很重要。4、随后的七列逐渐减少,同样使用for...

用C语言编写一个算法?
int InArray(int a[],int N,int data)\/*判断data是否在数组a[N]中.是则返回1,否则返回0*\/ { int i;for(i=0;i<N;i++)if(data==a[i])return 1;return 0;} int main(void){ int i,j=1,temp,a[8]={0};srand( (unsigned)time( NULL ) ); \/*保证每次生成的随机数不...

开发一个c语言程序要经过哪四个步骤
开发一个C语言程序需要经过的四个步骤:编辑、编译、连接、运行。C语言程序可以使用在任意架构的处理器上,只要那种架构的处理器具有对应的C语言编译器和库,然后将C源代码编译、连接成目标二进制文件之后即可运行。1、预处理:输入源程序并保存(.C文件)。2、编译:将源程序翻译为目标文件(.OBJ文件)。...

用C语言怎么编写一个从1加到10的程序...新手求解
include <stdio.h> void main(){ int n;int sum=0; \/\/初始sum变量值为0;for(n=1;n<=10;n++){ sum=sum+n; \/\/从一加到10;} printf("1+2+...+10=%d",sum);}

凤山县18621464483: 用c语言做一个石头剪刀布的游戏 -
堵饼达力: 用1、2、3来表示剪刀、石头、布,然后先用scanf函数读取用户的输入,再用rand函数产生一个随机数,最后进行比较就可以了. #include #include #include void main() { int com,user; char c; srand((unsigned)time(NULL)); //初始化随机数,如...

凤山县18621464483: 用C语言编写一个石头剪子布游戏,具体要求如下,高分急求 -
堵饼达力: 刚刚的有点问题,现在改好了: #include<stdio.h> #include<time.h> #include<stdlib.h> #include<string.h> char name[100],way[3][10]={"石头","剪子","布"},mode_name[2][20]={"三局两胜","五局三胜"}; void new_game(int ...

凤山县18621464483: C语言编程:剪刀石头布的小游戏 -
堵饼达力: 原创: TC2.0以及gcc 编译通过/*=======================================================*Author :wacs5*Date :20100601(YYYYMMDD)*Function :剪刀石头布*===================================================...

凤山县18621464483: 用C语言做一个简单的石头剪子布游戏 -
堵饼达力: #include <stdio.h> #include <stdlib.h> enum games{cloth,hammer,scissors,game,quit}; enum games select(); enum games mach(); int won(enum games player, enum games machine); void result(int win, int lose, int tie);void main() {enum games ...

凤山县18621464483: C语言编写石头剪刀布1、2、3分别是石头、剪刀、布
堵饼达力: 只说个大概思路吧 假设已得到用户输入值(int user)和电脑输入值(int com) if(user==com) { /*平手*/ } else if((user+1)%3==com) { /*用户胜*/ } else { /*电脑胜*/ } 挺简单的吧:)

凤山县18621464483: 编写与计算机玩石头、剪子、布的游戏程序 -
堵饼达力: 三种出法,就是产生3个随机数,然后比较

凤山县18621464483: 求C++与电脑玩剪刀石头布的程序 -
堵饼达力: #include<windows.h> #include<iostream> using namespace std; class Play { public:int People;unsigned long Computer; public:Play(){};~Play(){};void Set_People(int _p){People=_p;}void Set_Computer(unsigned long _C){Computer=_...

凤山县18621464483: 用c语言编写一个游戏 游戏规则用户选择出拳的数字(1、石头 2、剪刀 3、布), 而计算机随机 -
堵饼达力: #include #include int main() { int player; int computer; int playerWin = 0, computerWin = 0, balance = 0; scanf_s( "%d", &player ); while( player != 0 ) { srand( time( 0 ) ); computer = rand() % 3 + 1; if( computer == player ) { printf( "%s\n", "平局...

凤山县18621464483: c语言编一个简单的剪刀石头布游戏? -
堵饼达力: 定义0、1、2三个数分别代表剪刀石头和布 通过生成一个随机数(0-2)与输入的数据对比就好了然后根据规则(游戏规则)判断输赢如果自己不想写代码的话 我可以提供有偿代劳

凤山县18621464483: c语言初学者,要做一个石头剪刀布的程序,不知道怎么做,求大神看看 -
堵饼达力: 更加合理的答案: #include #include #include int main(void){ char gesture[3][10] = {"scissor", "stone", "cloth"}; int man, computer, result, ret; srand(time(NULL)); while(1){ computer = rand() % 3; printf("Input your gesture(0-scissor 1-stone ...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网