鲤Bubble。o O 2023-04-30 16:24 采纳率: 60%
浏览 17
已结题

无论怎么输入都是平局,怎么改一下这个代码。

img


#include <stdio.h>
 
int main()
{
    int a, b;
    scanf("%d%d", &a, &b);
    int result=(a==1&&b==2) || (a == 2 && b == 3) || (a== 3&&b==1)?1:2;
    if (a == b) printf("平局");
    else printf("player %d win.", result); 
}
  • 写回答

2条回答 默认 最新

  • threenewbee 2023-04-30 16:27
    关注

    你输入12,直接被当作一个数字整个被a获取了,然后下一行的12被整个给了b,所以a==b
    你有2个修改办法,一个是

    #include <stdio.h>
     
    int main()
    {
        char a, b;
        scanf("%c%c", &a, &b);
        int result=(a=='1'&&b=='2') || (a == '2' && b == '3') || (a== '3'&&b=='1')?1:2;
        if (a == b) printf("平局");
        else printf("player %d win.", result); 
    }
    
    

    另一个是输入的时候加上一个空格
    比如
    1 2

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 5月23日
  • 已采纳回答 5月15日
  • 创建了问题 4月30日