malloc_88 2020-01-18 17:03 采纳率: 0%
浏览 327

各位大佬,能不能帮我看看为什么pat1018石头剪刀布部分测试点过不了

图片说明
图片说明图片说明

int change(char c)
{
    if(c == 'B')
    return 0;
    else if(c == 'C')
    return 1;
    else if(c == 'J')
    return 2;
}
int main()
{
    char c1, c2;
    int k1, k2;
    int ahand[3] = {0};
    int bhand[3] = {0};
    int ka[3] = {0};
    int kb[3] = {0};
    char mp[3] = {'B','C','J'};
    int m1 = 0, m2 = 0;
    int n;
    scanf("%d", &n);
    for(int i = 0; i < n; i++)
    {
        getchar();
        scanf("%c %c", &c1, &c2);
        k1 = change(c1);
        k2 = change(c2);
        if((k1+1)%3 == k2)
        {
            ahand[0]++;
            bhand[2]++;
            ka[k1]++;
        }
        else if((k2+1)%3 == k1)
        {
            ahand[2]++;
            bhand[0]++;
            ka[k2]++;
        }
        else
        {
            ahand[1]++;
            bhand[1]++;
        }
    }
    printf("%d %d %d\n", ahand[0], ahand[1], ahand[2]);
    printf("%d %d %d\n", bhand[0], bhand[1], bhand[2]);
    for(int i = 0; i < 3; i++)
    {
        if(ka[m1] < ka[i])
        {
            m1 = i;
        }
        if(kb[m2] < kb[i])
        {
            m2 = i;
        }
    }   
    printf("%c %c\n", mp[m1], mp[m2]);
    return 0;
}
  • 写回答

1条回答 默认 最新

  • console.log( ) 2020-01-20 11:32
    关注

    如果n=0,你的for循环就不会执行,判断一下
    bhand没必要,把ahand倒着输出就行

    评论

报告相同问题?

悬赏问题

  • ¥15 echarts动画效果失效的问题。官网下载的例子。
  • ¥60 许可证msc licensing软件报错显示已有相同版本软件,但是下一步显示无法读取日志目录。
  • ¥15 Attention is all you need 的代码运行
  • ¥15 一个服务器已经有一个系统了如果用usb再装一个系统,原来的系统会被覆盖掉吗
  • ¥15 使用esm_msa1_t12_100M_UR50S蛋白质语言模型进行零样本预测时,终端显示出了sequence handled的进度条,但是并不出结果就自动终止回到命令提示行了是怎么回事:
  • ¥15 前置放大电路与功率放大电路相连放大倍数出现问题
  • ¥30 关于<main>标签页面跳转的问题
  • ¥80 部署运行web自动化项目
  • ¥15 腾讯云如何建立同一个项目中物模型之间的联系
  • ¥30 VMware 云桌面水印如何添加