刚开始的那种输入一行信息做判断的方法需要进行掌握
#include<iostream>
using namespace std;
int sign[1000000];
int w,l;
int main()
{
char s;
for(int i = 1;cin>>s&&s!='E';i++)//E可能出现在字符串中间或者末尾,也可能之前会有换行
{
if(s == 'W')sign[i]=1;//将字符信息转化为容易处理的数字信息
if(s == 'L')sign[i]=2;
}
for(int i = 1;1;i++)//为方便起见,设定了一个死循环,一定注意在结束条件下进行break
{
if(sign[i]==1)w++;
if(sign[i]==2)l++;
if(sign[i]==0)
{
cout << w << ":"<<l<<endl<<endl;
break;
}
if(w-l>=2||l-w>=2)
if(w>=11||l>=11)
{
cout << w << ":" << l<<endl;
w=0;l=0;//下一局比分需要从0开始重新计算
}
}
w = 0;l = 0;//重新输出21分制比分,需要重新计算比分
for(int i = 1;1;i++)
{
if(sign[i]==1)w++;
if(sign[i]==2)l++;
if(sign[i]==0)
{
cout << w << ":"<<l<<endl<<endl;
break;
}
if(w-l>=2||l-w>=2)
if(w>=21||l>=21)
{
cout << w << ":" << l<<endl;
w=0;l=0;//下一局比分需要从0开始重新计算
}
}
}