绝对头子 2021-11-09 21:08 采纳率: 75%
浏览 32
已结题

请帮我看看这个代码哪儿错的,目前是部分正确

这个是题目:
7-16 谁先倒 (15 分)
划拳是古老中国酒文化的一个有趣的组成部分。酒桌上两人划拳的方法为:每人口中喊出一个数字,同时用手比划出一个数字。如果谁比划出的数字正好等于两人喊出的数字之和,谁就输了,输家罚一杯酒。两人同赢或两人同输则继续下一轮,直到唯一的赢家出现。

下面给出甲、乙两人的酒量(最多能喝多少杯不倒)和划拳记录,请你判断两个人谁先倒。

输入格式:
输入第一行先后给出甲、乙两人的酒量(不超过100的非负整数),以空格分隔。下一行给出一个正整数N(≤100),随后N行,每行给出一轮划拳的记录,格式为:

甲喊 甲划 乙喊 乙划
其中喊是喊出的数字,划是划出的数字,均为不超过100的正整数(两只手一起划)。

输出格式:
在第一行中输出先倒下的那个人:A代表甲,B代表乙。第二行中输出没倒的那个人喝了多少杯。题目保证有一个人倒下。注意程序处理到有人倒下就终止,后面的数据不必处理。

输入样例:
1 1
6
8 10 9 12
5 10 5 10
3 8 5 12
12 18 1 13
4 16 12 15
15 1 1 16
结尾无空行
输出样例:
A
1

我的代码如下:
#include<stdio.h>
int main()
{
int A,B,N,i,n,n1,m,m1,flag,t,h;
i=0;
flag=0;
scanf("%d %d",&A,&B);
scanf("%d",&N);
t=B;
h=A;
for(i=0;i<N;i++){
scanf("%d %d %d %d\n",&n,&n1,&m,&m1);
if(m1==m+n)
B--;
if(n1==m+n)
A--;
if(A==0){
flag=1;
break;
}
if(B==0){
flag=0;
break;
}
}
if(flag==1){
printf("A\n");
printf("%d",t-B);
}
if(flag==0){
printf("B\n");
printf("%d",h-A);
}
return 0;
}

  • 写回答

2条回答 默认 最新

  • 易水卷长空 2021-11-09 21:30
    关注

    注意酒量为0时再多喝一杯才会倒下

    #include<stdio.h>
    int main()
    {
        int A,B,N,i,n,n1,m,m1,A0,B0;
        scanf("%d%d",&A,&B);//甲、乙的酒量
        scanf("%d",&N);
        A0=A;
        B0=B;
        for(i=0;i<N;i++){
            scanf("%d%d%d%d",&n,&n1,&m,&m1);
            if(m1==m+n&&n1!=m+n)
                B--;//乙输了
            else if(n1==m+n&&m1!=m+n)
                A--;//甲输了
            if(A<0){
                printf("A\n%d",B0-B);
                return 0;//甲倒下,程序不执行了
            }
            else if(B<0){
                printf("B\n%d",A0-A);
                return 0;//乙倒下,程序不执行了
            }
        }
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 11月19日
  • 已采纳回答 11月11日
  • 创建了问题 11月9日

悬赏问题

  • ¥15 抖音咸鱼付款链接转码支付宝
  • ¥15 ubuntu22.04上安装ursim-3.15.8.106339遇到的问题
  • ¥15 求螺旋焊缝的图像处理
  • ¥15 blast算法(相关搜索:数据库)
  • ¥15 请问有人会紧聚焦相关的matlab知识嘛?
  • ¥15 网络通信安全解决方案
  • ¥50 yalmip+Gurobi
  • ¥20 win10修改放大文本以及缩放与布局后蓝屏无法正常进入桌面
  • ¥15 itunes恢复数据最后一步发生错误
  • ¥15 关于#windows#的问题:2024年5月15日的win11更新后资源管理器没有地址栏了顶部的地址栏和文件搜索都消失了