PTA 谁先倒

题目
代码

#include<stdio.h> 
int main(){
	char r;
	int s[110],s1,s2,j1[110],j2[110],y1[110],y2[110],n,t,i;
	scanf("%d%d",&s1,&s2);
    int s11=0,s22=0;
	scanf("%d",&n);
	for(i=0;i<n;++i){
		scanf("%d%d%d%d",&j1[i],&j2[i],&y1[i],&y2[i]);
    }
    for(i=0;i<n;++i){
        s[i]=0;
		s[i]=j1[i]+y1[i];
		if(j2[i]==s[i]&&y2[i]!=s[i]) s11++;
		if(j2[i]!=s[i]&&y2[i]==s[i]) s22++;
		if(s11>s1){
			t=s22;
			r='A';
			break;	
		}
		if(s22>s2){
			t=s11;
			r='B';	
			break;
		}
	}
	printf("%c\n%d\n",r,t);
	return 0;
} 

问题:1.读题问题,数据得全部输出,采用数组
2.“两人同赢或两人同输则继续下一轮,直到唯一的赢家出现”对文字的处理
3.“第二行中输出没倒的那个人喝了多少杯。”注意文中最终求计算的是什么

问题代码

#include<stdio.h> 
#include<string.h>
int main(){
	char r;
	int s,s1,s2,j1,j2,y1,y2,n,t;//问题
	scanf("%d%d",&s1,&s2);
    int s11=s1,s22=s2;
	scanf("%d",&n);
	while(n--){
		scanf("%d%d%d%d",&j1,&j2,&y1,&y2);
		s=0;
		s=j1+y1;
		if(j2==s) s1--;//问题
		if(y2==s) s2--;//问题
		if(s1==0){
			t=s22-s2;
			r='A';
			break;	
		}
		if(s2==0){
			t=s11-s1;
			r='B';	
			break;
		}
	}
	printf("%c\n%d\n",r,t);
	return 0;
} 

标准答案

#include<stdio.h>
int main()
{
    int m,n,a[101],b[101],c[101],d[101],x=0,y=0,i,j,s,t;
    scanf("%d%d",&m,&n);
    scanf("%d",&t);
    for(i=0;i<t;i++)
    {
        scanf("%d%d%d%d",&a[i],&b[i],&c[i],&d[i]);  //将数据存入数组
    }
    for(i=0;i<t;i++)
    {
        s=a[i]+c[i];
        if(s==b[i]&&s!=d[i]) x++;  //记录A喝酒的杯数
        if(s==d[i]&&s!=b[i]) y++;  //记录B喝酒的倍数
        if(x>m)  //当A喝的酒超过其酒量,A倒
        {
            printf("A\n");
            printf("%d\n",y);
            break;
        }
        if(y>n)  //当B喝的酒超过其酒量,B倒
        {
            printf("B\n");
            printf("%d\n",x);
            break;
        }
    }
    return 0;
}
————————————————
版权声明:本文为CSDN博主「Angela-Y」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_40907345/article/details/7921663
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值