内存:128  时间:1

题目描述

小慧小时候很喜欢和她的小伙伴们一起玩剪刀(Scissors)、石头(Rock)、布(Cloth)的游戏,但现在她上大学了,和小伙伴们不能经常见面,但可以通过网络交流,她现在很想和小伙伴们重温这个小游戏。
学了c++的你,可以用类帮她完成这个小游戏吗?每局游戏进行n场对战,赢得次数多的是最后的赢家,可以出现平局。

输入

第1行 n(1<=n<=20) ,表示下面有n组对战信息。
从第2行到第n+1行,每行两个英文单词,表示对战信息。小慧的信息是第一列

输出

一个英文字母W或L或D 表示小慧的赢,输或平手。

样例输入

5
Rock Scissors
Scissors Rock
Cloth Cloth
Cloth Rock
Rock Rock

样例输出

W

提示

//以下代码会自动添加到程序的开始
#include <iostream>
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

//以下代码会自动添加到程序的末尾
void RSC::input()
{
    cin>>n;
    int i;
    for(i=0; i<n; i++)
        cin>> a[i]>>b[i];
}
void RSC::output()
{
    decide();
    cout<<result<<endl;
}
void RSC::decide()
{
    int num=0,i;
    for(i=0; i<n; 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;
    test.input();
    test.output();
    return 0;
}

代码如下


#include <iostream>
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();
};
int RSC::judge(char a,char b)
 {
     if(a=='R'||a=='r')
     {
         if(b=='C'||b=='c')
         {
             return -1;
         }
         else
         {
             if(b=='S'||b=='s')
                return 1;
            else return 0;
         }
     }
     else
     if(a=='S'||a=='s')
     {
         if(b=='S'||b=='s')return 0;
         else if(b=='C'||b=='c')
            return 1;
         else return -1;
     }
     else
     {
         if(b=='C'||b=='c')
            return 0;
         else if(b=='R'||b=='r')return 1;
         else return -1;
     }
 }
void RSC::input()
{
    cin>>n;
    int i;
    for(i=0; i<n; i++)
        cin>> a[i]>>b[i];
}
void RSC::output()
{
    decide();
    cout<<result<<endl;
}
void RSC::decide()
{
    int num=0,i;
    for(i=0; i<n; 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;
    test.input();
    test.output();
    return 0;
}

代码来源于互联网,仅供参考!