剛開始的那種輸入一行信息做判斷的方法需要進行掌握
#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開始重新計算
}
}
}