P1042 [NOIP2003 普及组] 乒乓球 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)
思路:将记录合成一行以后比较
代码:
#include<iostream>
using namespace std;
int main()
{
char ch;
char A[111101];
int index = 0;
while (cin>>ch&&ch!='E')
{
if(ch =='W'||ch=='L')
A[index++] = ch;
}
int ans = 0, bns = 0;
//11
for (int i = 0; i < index; i++)
{
//计分
if (A[i] == 'W') ans++;
else if(A[i] == 'L') bns++;
//结果
if ((ans >= 11 && (ans - bns) >= 2) || (bns >= 11 && (ans - bns) <= -2))
{
cout << ans << ":" << bns << endl;
ans = bns = 0;
}
}
cout << ans << ":" << bns << endl;
ans = bns = 0;
cout << endl;
//21
for (int i = 0; i < index; i++)
{
//计分
if (A[i] == 'W') ans++;
else if (A[i] == 'L') bns++;
//结果
if ((ans >= 21 && (ans - bns) >= 2) || (bns >= 21 && (ans - bns) <= -2))
{
cout << ans << ":" << bns << endl;
ans = bns = 0;
}
}
cout << ans << ":" << bns;
return 0;
}
总结:
对字符和字符串有进一步理解