题目
代码
#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