题目要求如下:
-----------------------------------------------------------------------------------------------------------------------------------------------
代码如下:
/*
* Copyright (c) , 烟台大学计算机学院
* All rights reserved.
* 作 者: 沈远宏
* 完成日期: 年06月17日
* 版 本 号:v1.0
* 问题描述:Description
小慧小时候很喜欢和她的小伙伴们一起玩剪刀(Scissors)、石头(Rock)、布(Cloth)的游戏,但现在她上大学了,和小伙伴们不能经常见面,但可以通过网络交流,她现在很想和小伙伴们重温这个小游戏。
学了c++的你,可以用类帮她完成这个小游戏吗?每局游戏进行n场对战,赢得次数多的是最后的赢家,可以出现平局。
Input
第1行 n(1<=n<=20) ,表示下面有n组对战信息。
从第2行到第n+1行,每行两个英文单词,表示对战信息。小慧的信息是第一列
Output
一个英文字母W或L或D 表示小慧的赢,输或平手。
*/
//以下代码会自动添加到程序的开始
#include
#include
#include
using namespace std;
class RSC
{
private:
char a[21][10];
char b[21][10];
int n;
char result;
int judge(char a,char b);
public:
void input();
void output();
void decide();
};
//以下请给出 成员函数judge
int RSC::judge(char a,char b)
{
int score=0;
for(int i=0;i
{
if(a==b)//剪刀(Scissors)、石头(Rock)、布(Cloth)的游戏,c布>石头r;r石头>剪刀s;s剪刀>布c
{
score+=0;
}else if((a=='C'&&b=='R')||(a=='R'&&b=='S')||(a=='S'&&b=='C'))
{
score+=1;
}
else{score+=-1;}
}
return score;
}
//以下代码会自动添加到程序的末尾
void RSC::input()
{
cin>>n;
int i;
for(i=0; i
cin>> a[i]>>b[i];
}
void RSC::output()
{
decide();
cout<
}
void RSC::decide()
{
int num=0,i;
for(i=0; i
num = num + judge(a[i][0],b[i][0]);
if(num>0)
result ='W';
else if(num==0)
result= 'D';
else
result = 'L';
}
int main()
{
RSC test;
freopen("10.txt","r",stdin);
test.input();
test.output();
return 0;
}
运行结果:
OJ要求结果输出例样: