石头-剪刀-布

两个人猜拳,石头(r),剪刀(s),布(p),要求用户输入大小写都可以识别。

#include<iostream>
using namespace std;
int main()
{
    char p_a, p_b;
    while (1)
    {
        cout << "请第一个人出手:" << endl;
        do
        {
            cin >> p_a;
        } while ((p_a != 'r') && (p_a != 'R') && (p_a != 'P') && (p_a != 'p') && (p_a != 's') && (p_a != 'S'));
        cout << "请第二个人出手:" << endl;
        do
        {
            cin >> p_b;
        } while ((p_b != 'r') && (p_b != 'R') && (p_b != 'P') && (p_b != 'p') && (p_b != 's') && (p_b != 'S'));
        if (p_a == 'R')
        {
            p_a = 'r';
        }
        if (p_a == 'S')
        {
            p_a = 's';
        }
        if (p_a == 'P')
        {
            p_a = 'p';
        }
        if (p_b == 'R')
        {
            p_b = 'r';
        }
        if (p_b == 'S')
        {
            p_b = 's';
        }
        if (p_b == 'P')
        {
            p_b = 'p';
        }
        switch (p_a)
        {
        case 'r':
            if (p_b == 's')
                cout << "第一个人赢" << endl;
            else if (p_b == 'p')
                cout << "第二个人赢" << endl;
            else
                cout << "平局";
            break;
        case 's':
            if (p_b == 'p')
                cout << "第一个人赢" << endl;
            else if (p_b == 'r')
                cout << "第二个人赢" << endl;
            else
                cout << "平局";
            break;
        case 'p':
            if (p_b == 's')
                cout << "第二个人赢" << endl;
            else if (p_b == 'r')
                cout << "第一个人赢" << endl;
            else
                cout << "平局";
            break;
        }
        cout << endl << "是否结束?(1/0)"; 
        int x;
        cin >> x;
        if (x == 1)break;
    }
    return 0;
}

原文地址:https://www.cnblogs.com/3712k/p/5475732.html