PAT1018剪刀锤子布
2017-02-14 15:20
176 查看
用类,理解起来相对比较容易。
#include <iostream> using namespace std; class B { public: int num; B():num(0){} void display() { cout<<"B"; } }; class C { public: int num; C():num(0){} void display() { cout<<"C"; } }; class J { public: int num; J():num(0){} void display() { cout<<"J"; } }; class NumCount { public: int win; int tie; int lose; B b; C c; J j; NumCount():win(0),tie(0),lose(0){} void display() { cout<<win<<' '<<tie<<' '<<lose<<endl; } void winrecord(char a) { if(a == 'B') ++b.num; else if ( a == 'C') ++c.num; else if ( a == 'J') ++j.num; } void windisplay() { if( b.num >= c.num && b.num >= j.num) { b.display(); } else if ( c.num >= b.num && c.num >= j.num) { c.display(); } else if ( j.num >= c.num && j.num >= c.num) { j.display(); } } }; bool comp(char a,char b) { if( a == 'B') { if( b == 'C') return 1; } else if (a == 'C') { if ( b == 'J') return 1; } else if( a == 'J') { if ( b == 'B') return 1; } return 0; } int main() { int n; cin >> n; NumCount J,Y; char j,y; for (int i=0;i<n;++i) { cin >> j >> y; if( j == y ) { ++J.tie; ++Y.tie; } else { if( comp(j,y) ) { ++J.win; ++Y.lose; J.winrecord(j); } else { ++Y.win; ++J.lose; Y.winrecord(y); } } } J.display(); Y.display(); J.windisplay(); cout<<' '; Y.windisplay(); return 0; }
相关文章推荐
- PAT乙级练习题B1018.锤子剪子布
- PAT 1018剪刀石头布
- PAT乙级1018. 锤子剪刀布 (20)
- PAT (Basic Level) Practise:1018. 锤子剪刀布
- PAT 1018
- PAT乙级 1018. 锤子剪刀布 (20)
- PAT BASIC LEVEL 1018. 锤子剪刀布 (20)
- PAT basic 1018
- PAT-1018 锤子剪刀布
- PAT-B 1018. 锤子剪刀布 (20)
- PAT1018. 锤子剪刀布 (20)
- 1018. Public Bike Management (30) PAT 甲级
- PAT 乙级 1018. 锤子剪刀布(C语言版)
- PAT 乙级 1018
- 乙级 PAT 1018. 锤子剪刀布 (20)
- 1018. 锤子剪刀布 (20)-浙大PAT乙级真题java实现
- PAT乙级1018
- PAT(乙级)1018
- pat:1018 scanf读取字符;段错误
- PAT1018. 锤子剪刀布