
可以先设置随机数(import random)
然后使用randint,随机一个1~3之间的整数,姑且叫a
1--石头
2--剪刀
3--布
然后使用input,输入1~3之间的整数,姑且叫inputnum
由于输入的是字符串,那么我们int(inputnum)
这样我们得到了一个整数inputnum
使用if-elif语句
判断a和inputnum的关系
做出相应的回答
然后第二步
定义变量flagA 判断程序赢的次数,在上面的if语句中写上flagA的自增
给它一个初始值0——flagA=0
定义变量flagB 判断自己赢的次数,在上面的if语句中写上flagB的自增
给它一个初始值0——flagB=0
大概思路就是这样,不知道能不能看懂,本人表达能力不好,望见谅
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main(void)
{
char player
char computer
srand ((unsigned)time(NULL))// 随机数种子
while(1)
{fflush(stdin)
printf("欢迎来到猜拳小游戏,请选择你要出的手势:\n")
printf("a剪刀\nb石头\nc布\n")
scanf("%c",&player)
if (player==65 || player==97)printf("你出了剪刀,")
else if (player==66 || player==98)printf("你出了石头,")
else if (player==67 || player==99)printf("你出了布,")
else printf("输入错误,请重试:\n")
if(player>67)player-=32
computer = rand()%3+1// 产生随机数,得到电脑出拳
printf("电脑出了")
switch (computer)
{
case 1:printf("剪刀\n")break
case 2:printf("石头\n")break
case 3:printf("布\n")break
}
if (player==65 &&computer==3)//剪刀——布
printf("你赢了!\n")
else if (player==66 &&computer==1)//石头——剪刀
printf("你赢了!\n")
else if (player==67 &&computer==2)//布——石头
printf("你赢了!\n")
else if (player==67 &&computer==1)//布——剪刀
printf("电脑赢了!\n")
else if (player==65 &&computer==2)//剪刀——石头
printf("电脑赢了!\n")
else if (player==66 &&computer==3)//石头——布
printf("电脑赢了!\n")
else if (player==65 &&computer==1)//都出剪刀
printf("平手!\n")
else if (player==66 &&computer==2)//都出石头
printf("平手!\n")
else if (player==67 &&computer==3)//都出布
printf("平手!\n")
printf("\n")
}
return 0
}
#include <stdio.h>#include <iostream>
#include <time.h>
int getrand()
{
//srand((unsigned)time(NULL))
return rand()%3
}
int win(int me,int cpu)
{
if(me==2&&cpu==0)
return -1
else if (me==0&&cpu==2)
return 1
else if(me==cpu)
return 0
else if(me>cpu)
return 1
else
return -1
}
int exchange(char input)
{
int i=0
switch(input) {
case 'S':
case 's':
i = 2
break
case 'p':
case 'P':
i = 1
break
default:
i = 0
}
return i
}
int main(void)
{
char c='a'
char msg[3][10] = {"rock","paper","scissors"}
int me,cpu
while(1){
printf("Enter R(ock), P(aper), or S(cissors)> ")
flushall()
scanf("%c",&c)
if(c=='q'||c=='Q') break
me = exchange(c)
cpu = getrand()
printf("You played %s.\n",msg[me])
printf("The computer played %s.\n",msg[cpu])
if(win(me,cpu)==1)
printf("You win!\n")
else if(win(me,cpu)==-1)
printf("The computer win!\n")
else
printf("Go go go!\n")
}
return 0
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)