① C語言 石頭剪子布
用簡單的c語言實現:
#include
int
main()
{
int
num1,num2
;
printf("請玩家輸入<1表示石頭、2表示剪子、3表示布>:");
scanf("%d",&num1);
printf("請玩家輸入<1表示石頭、2表示剪子、3表示布>:");
scanf("%d",&num2);
//枚舉可能出現的各種情況
if(num1==1
&&
num2==1)
//
1
1
{
printf("玩家一選擇石頭
,玩家二選擇石頭,平局\n");
}
else
if(num1==1
&&
num2==2)
//
1
2
{
printf("玩家一選擇石頭
,玩家二選擇剪子,玩家一勝利\n");
}
else
if(num1==1
&&
num2==3)
//1
3
{
printf("玩家一選擇石頭
,玩家二選擇布,玩家二勝利\n");
}
else
if(num1==2
&&
num2==1)
//2
1
{
printf("玩家一選擇剪子
,玩家二選擇石頭,玩家二勝利\n");
}
else
if(num1==2
&&
num2==2)
//2
2
{
printf("玩家一選擇剪子
,玩家二選擇剪子,平局\n");
}
else
if(num1==2
&&
num2==3)
//2
3
{
printf("玩家一選擇剪子
,玩家二選擇布,玩家一勝利\n");
}
else
if(num1==3
&&
num2==1)
//3
1
{
printf("玩家一選擇布
,玩家二選擇石頭,玩家一勝利\n");
}
else
if(num1==3
&&
num2==2)
//3
2
{
printf("玩家一選擇布
,玩家二選擇剪子,玩家二勝利\n");
}
else
//3
3
{
printf("玩家一選擇布
,玩家二選擇布,平局\n");
}
return
0;
}
② c語言初學者,要做一個石頭剪刀布的程序,不知道怎麼做,求大神看看
#include<stdio.h>
intmain()
{
printf("0表示石頭. ");
printf("1表示剪刀. ");
printf("2表示布. ");
printf("請出拳. ");
inta,b,c;
scanf("%d%d,&a,&b");
c=a-b;
switch(c)
{
case-2:printf("後手贏. ");break;
case-1:printf("先手贏. ");break;
case0:printf("平手. ");break;
case1:
if(a==1)
printf("後手贏. ");
elseif(a==2)
printf("先手贏. ")
break;
case2:printf("先手贏. ");break;
}
return0;
}
③ 用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 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("***當前模式:\t%s\n",mode_name[mode]);
for(int i=0;i<cnt[mode];i++){
printf("***1 -- 石頭;\t 2 -- 剪子\t 3 -- 布\n");
fgets(cmd,9,stdin);
user=(cmd[0]-'1')%3;
if(user<0)user+=3;
computer=rand()%3;
printf("***%-10s:%s\n",name,way[user]);
printf("***%-10s:%s","電腦",way[computer]);
if(computer==user)
{
printf("\t\t平\n");
}
else if(user-computer==-1 || user-computer==2)
{
printf("\t%s\t贏\n",name);
win++;
}
else
{
printf("\t電腦\t贏\n");
lose++;
}
if(win>lose+cnt[mode]-i-1 || lose>win+cnt[mode]-i-1)
break;
}
if(win>lose)
{
printf("恭喜!該局你贏家了!\n");
(*p_win)++;
}
else if(win<lose)
{
(*p_lose)++;
printf(" 可惜!,你輸了本局!\n");
}
else
{
(*p_tide)++;
printf(" 此局平局!\n");
}
}
int main(){
srand(time(0));
char cmd[10];
int mode=0;
int win,lose,tide;
win=lose=tide=0;
printf("請輸入玩家姓名:\t");
fgets(name,99,stdin);
name[strlen(name)-1]='\0';
while(1){
printf("/******************石頭剪子布游戲 ******************\n");
printf("***玩家:\t%s\n",name);
printf("***比賽情況:\t贏:\t%d\t輸:\t%d\t平:\t%d\n",win,lose,tide);
printf("***當前模式:\t%s\n",mode_name[mode]);
printf("***N -- 開始游戲;\tC -- 切換模式;\tQ -- 退出;\n");
fgets(cmd,9,stdin);
if(cmd[0]=='N' || cmd[0]=='n')
new_game(mode,&win,&lose,&tide);
else if(cmd[0]=='Q' || cmd[0]=='q')
break;
else
mode=1-mode;
}
return 0;
}
④ C語言石頭剪刀布程序
幫你修改了一下判斷部分。你試試吧:
#include<stdio.h>
#include<stdlib.h>
#include<sys/types.h>
#include<sys/timeb.h>
main()
{
loop:
printf("歡迎來玩石頭剪刀布,請使用鍵盤輸入,0代表石頭,1代表剪刀,2代表布。 ****************************************************** ");
intx,com,user;
unsignedintseedVal;
structtimebtimeBuf;
ftime(&timeBuf);
seedVal=((((unsignedint)timeBuf.time&0xFFFF)+
(unsignedint)timeBuf.millitm)^
(unsignedint)timeBuf.millitm);
srand((unsignedint)seedVal);
x=rand();
com=x%3;
scanf("%d",&user);
if(user>2)
printf("您的輸入有誤,請輸入0、1、2中任意一個數字 ");
else
{
if(com==0)
{
if(user==0)printf("平手 ");
if(user==1)printf("輸了 ");
if(user==2)printf("贏了 ");
}
if(com==1)
{
if(user==0)printf("贏了 ");
if(user==1)printf("平手 ");
if(user==2)printf("輸了 ");
}
if(com==2)
{
if(user==0)printf("輸了 ");
if(user==1)printf("贏了 ");
if(user==2)printf("平手 ");
}
}
gotoloop;
}