作业帮 > 综合 > 作业

用C++编写:同学 A 和B两个人玩最简单的石头剪子布游戏,游戏规则如下:石头赢剪子;剪子赢布;布赢石头;

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/09 10:17:04
用C++编写:同学 A 和B两个人玩最简单的石头剪子布游戏,游戏规则如下:石头赢剪子;剪子赢布;布赢石头;
如果二者相同,则平局;并且规定,如果赢一局则得 2 分,平局的话双方各得 1 分,输的人不得分.两个人一共玩了 N 局,并且已知每个人每局出的是什么,我们用字符’R’代表石头,’S’代表剪子,’P’代表布.并且给出两个字符串代表两个人每局的出法.对于这个游戏,输出赢家是谁,并且输出他的得分,如果最后出现了平分,则输出“TIE”加上平分的分数,用空格隔开(具体输出方式见样例).
你参考一下吧.
#include
int comp(char a,char b)//A的每一局得分函数
{
if(a==b)return 1;
if(a=='R'&&b=='S')return 2;
if(a=='R'&&b=='P')return 0;
if(a=='S'&&b=='R')return 0;
if(a=='S'&&b=='P')return 2;
if(a=='P'&&b=='R')return 2;
if(a=='P'&&b=='S')return 0;
}
int main()
{
int scoreA=0,scoreB=0;//分别代表A和B的得分
char a,b;//分别代表A和B出的形状
int n;//比较的局数
int i;//循环变量
int temp;//临时存储函数comp的返回值
printf("R:石头 S:剪子 P:布\n");
printf("请输入比较的局数:");//输入比较局数
scanf("%d",&n);
for(i=0;iscoreB)//输出A和B的比较结果
printf("A(%d)赢B(%d)输\n",scoreA,scoreB);
else
if(scoreA
再问: 请问要怎么改呢?谢谢你!
再答: //你试试这种吧,根据上面我写的那个写出这个就不难了,有问题Q我吧:34427993 #include #define MAXSIZE 100 int comp(char a,char b)//A的每一局得分函数 { if(a==b)return 1; if(a=='R'&&b=='S')return 2; if(a=='R'&&b=='P')return 0; if(a=='S'&&b=='R')return 0; if(a=='S'&&b=='P')return 2; if(a=='P'&&b=='R')return 2; if(a=='P'&&b=='S')return 0; } int main() { int scoreA=0,scoreB=0;//分别代表A和B的得分 char a[MAXSIZE],b[MAXSIZE];//分别代表A和B出的形状 int n;//比较的局数 int i;//循环变量 int temp;//临时存储函数comp的返回值 printf("R:石头 S:剪子 P:布\n"); printf("请输入比较的局数:\n");//输入比较局数 scanf("%d",&n); //printf("inputA:"); getchar(); for(i=0;i