简单题,就是输出时注意格式问题:输出一行结果后需要加入一个空白行。
复制代码
#include <iostream>
using namespace std;
int main()
{
int n;
int a[20],b[20],i=0,SumA,SumB;
while(cin>>n&&n!=0)
{
if (i!= 0)
{//题目输出格式要求,第一次不用加入空白行
cout << endl;
}
SumA = 0;
SumB = 0;
//输入A的出牌顺序
for(i=0;i<n;++i)
{
cin>>a[i];
}
//输入B的出牌顺序
for (i=0;i<n;++i)
{
cin>>b[i];
}
for (i=0;i<n;++i)
{
if (a[i]==b[i])
{//相等,双方均不得分
continue;
}
else if (a[i]==1&&b[i]==2)
{//A牌面是1,B牌面是2,A得6分
SumA += 6;
continue;
}
else if(b[i]==1&&a[i]==2)
{//B牌面是1,A牌面是2,B得6分
SumB += 6;
continue;
}
else if (a[i]-b[i]==1)
{//A的牌面恰好比B的牌面大,B得到两人牌面和的分数
SumB += a[i]+b[i];
continue;
}
else if (b[i]-a[i]==1)
{//B的牌面恰好比A的牌面大,A得到两人牌面和的分数
SumA += a[i]+b[i];
continue;
}
else if (a[i]-b[i]>1)
{//不是特殊情况下,A的牌面比B的牌面大于,A得到自己牌面分
SumA += a[i];
continue;
}
else if (b[i]-a[i]>1)
{//不是特殊情况下,B的牌面比A的牌面大于,B得到自己牌面分
SumB += b[i];
continue;
}
}
cout<<"A has "<<SumA<<" points. B has "<<SumB<<" points."<<endl;
}
return 0;
}
复制代码
本文转自Phinecos(洞庭散人)博客园博客,原文链接:http://www.cnblogs.com/phinecos/archive/2008/10/23/1317902.html,如需转载请自行联系原作者