100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 石头剪子布(字符串)c语言 石头 剪刀 布程序 C语言模拟

石头剪子布(字符串)c语言 石头 剪刀 布程序 C语言模拟

时间:2020-11-14 18:11:08

相关推荐

石头剪子布(字符串)c语言 石头 剪刀 布程序 C语言模拟

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

如果二者相同,则平局;并且规定,如果赢一局则得 2 分,平局的话双方各得 1 分,输的人不得分。两个人一共玩了 N 局,

并且已知每个人每局出的是什么,我们用字符’R’代表石头,’S’代表剪子,’P’代表布。并且给出两个字符串代表两个人每局的出法。

对于这个游戏,输出赢家是谁,并且输出他的得分,如果最后出现了平分,则输出“TIE”加上平分的分数,用空格隔开(具体输出方式见样例)。*/

程序1:

#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;i

{

printf("inputA%d:",i+1);

getchar();

scanf("%c",&a);//输入A出的

printf("inputB%d:",i+1);

getchar();

scanf("%c",&b); //输入B出的

temp=comp(a,b);

scoreA+=temp;//累加A的分数

scoreB+=(2-temp); //累加B的分数

}

if(scoreA>scoreB)//输出A和B的比较结果

printf("A(%d)赢B(%d)输\n",scoreA,scoreB);

else

if(scoreA

printf("A(%d)输B(%d)赢\n",scoreA,scoreB);

else

printf("TIE分数都是%d\n",scoreA);

system("pause");

return 0;

}

程序2:

#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

{

scanf("%c",&a[i]);

}

getchar();

for(i=0;i

{

scanf("%c",&b[i]);

}

for(i=0;i

{

temp=comp(a[i],b[i]);

scoreA+=temp;//累加A的分数

scoreB+=(2-temp); //累加B的分数

}

if(scoreA>scoreB)//输出A和B的比较结果

printf("A(%d)赢B(%d)输\n",scoreA,scoreB);

else

if(scoreA

printf("A(%d)输B(%d)赢\n",scoreA,scoreB);

else

printf("TIE %d\n",scoreA);

system("pause");

return 0;

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。