△【OJ】(二)---J---剪刀石頭布



題目要求如下:


-----------------------------------------------------------------------------------------------------------------------------------------------

代碼如下:

/*
 * Copyright (c) 2013, 煙臺大學計算機學院
 * All rights reserved.
 * 作    者:  沈遠宏
 * 完成日期:2014 年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 <iostream>
#include <fstream>
#include <cstdio>
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<n;++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<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;
    freopen("10.txt","r",stdin);
    test.input();
    test.output();
    return 0;
}




運行結果:


OJ要求結果輸出例樣:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章