题目不难,关键在于理解题意,还有就是有些算法用两个线性表存储a和b的牌,其实只用一个数组存储a的牌,b的牌只要一个变量就行了,边输入,边处理。还有就是最后的空行,挺讲究,不然就会提示“表述错误”。
#include<stdio.h>
int main()
{
int n;
int i,a[20],b;
int sa=0,sb=0;
scanf("%d",&n);
while(n)
{
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(i=0;i<n;i++)
{
scanf("%d",&b);
if(a[i]-b>1)
sa+=a[i];
else if(a[i]-b<-1)
sb+=b;
else if(a[i]-b==-1&&b!=2)
sa=sa+a[i]+b;
if(b==2&&a[i]==1)
sa+=6;
if(b-a[i]==-1&&a[i]!=2)
sb=sb+a[i]+b;
if(b==1&&a[i]==2)
sb+=6;
}
printf("A has %d points. B has %d points./n",sa,sb);
sa=0;sb=0;
scanf("%d",&n);
if(n)
printf("/n");
}
}