zoukankan      html  css  js  c++  java
  • 1018. 锤子剪刀布 (20)

    原题: https://www.patest.cn/contests/pat-b-practise/1018

    实现思路: 剪刀石头布胜负只有6种情况, 加上平局3种情况, 一共9中情况,
    分别判断即可.

    完整实现:

    #include <stdio.h>
    
    void printWinGesture (int b, int c, int j);
    void judge (char a, char b);
    
    int ac = 0;  // 甲用C胜的次数
    int aj = 0;  // 甲用J胜的次数
    int ab = 0;  // 甲用B胜的次数
    int bc = 0;  // 乙用C胜的次数
    int bj = 0;  // 乙用J胜的次数
    int bb = 0;  // 乙用B胜的次数
    int ave = 0; // 平局次数
    
    int main () {
        char a;
        char b;
        int awin = 0; // 甲胜的总次数
        int alose = 0; // 甲负的总次数
        int n;
        int i;
    
        scanf("%d", &n);
        getchar();
        for (i=1; i<=n; i++) {
            scanf("%c %c", &a, &b);
            getchar();
            judge(a, b);
        }
        awin = ac + aj + ab;
        alose = n - awin - ave;
        printf("%d %d %d
    ", awin, ave, alose);
        printf("%d %d %d
    ", alose, ave, awin);
    
        printWinGesture(ab, ac, aj);
        printf(" ");
        printWinGesture(bb, bc, bj);
        printf("
    ");
    
        return 0;
    }
    
    // 打印三个数中最大的数表示的字母
    void printWinGesture (int b, int c, int j) {
        int max = b;
        if (c > b && c >= j) {
            printf("C");
        } else if (j > b && j > c) {
            printf("J");
        } else {
            printf("B");
        }
    }
    
    // 记录平局的次数, 以及甲乙分别用CBJ胜的次数
    void judge (char a, char b) {
        if (a == b) {
            ave++;
        } else if (a == 'C' && b == 'J') {
            ac++;
        } else if (a == 'J' && b =='B') {
            aj++;
        } else if (a == 'B' && b == 'C') {
            ab++;
        } else if (a == 'C' && b == 'B') {
            bb++;
        } else if (a == 'J' && b == 'C') {
            bc++;
        } else if (a == 'B' && b == 'J') {
            bj++;
        }
    }
    
    
  • 相关阅读:
    [转载]c++转python
    [转载]One-hot编码
    [转载]各种机器学习算法的应用场景
    SVC和SVR
    机器学习-正则化+回归与分类辨析
    C#编译时,提示缺少NuGet包
    C++中 左值和右值的区别
    C++11并发编程实战 免费书籍
    静态库和动态库
    C++中string类
  • 原文地址:https://www.cnblogs.com/asheng2016/p/7711417.html
Copyright © 2011-2022 走看看