第一份代码输入出问题了
by liuruiqing @ 2024-02-21 13:15:17
```cpp
do{
cin>>ch;
if(ch=='W')
a[num]=1;
if(ch=='L')
a[num]=0;
num++;
}while(ch!='E');//原来是}while(ch=='E);
```
by liuruiqing @ 2024-02-21 13:16:09
抱歉,错误代码是这个 @[liuruiqing](/user/1118614)
```cpp
#include<bits/stdc++.h>
using namespace std;
int f[2]={11,21},a[2501*25+1],num=0;
int main(){
char ch;
do{
cin>>ch;
if(ch=='W')
a[num]=1;
if(ch=='L')
a[num]=0;
num++;
}while(ch!='E');
for(int i=0;i<=1;i++){
int w=0,l=0;
for(int j=0;j<=num-1;j++){
if(a[j]==1)
w++;
if(a[j]==0 )
l++;
if(max(w,l)>=f[i]&&abs(w-l)>=2){
cout<<w<<":"<<l<<endl;
w=0;
l=0;
}
}
cout<<w<<":"<<l<<endl<<endl;
}
return 0;
}
```
by lucy2012 @ 2024-02-21 13:23:44
呃,感叹号我发错了
by lucy2012 @ 2024-02-21 13:25:16
```cpp
#include<bits/stdc++.h>
using namespace std;
int f[2]={11,21},a[2501*25+1],num=0;
int main(){
char ch;
do{
cin>>ch;
if(ch=='W')
a[num]=1;
if(ch=='L')
a[num]=0;
num++;
}while(ch!='E');
for(int i=0;i<=1;i++){
int w=0,l=0;
for(int j=0;j<=num-1;j++){
if(a[j]==1)
w++;
if(a[j]==0 )
l++;
if(max(w,l)>=f[i]&&abs(w-l)>=2){
cout<<w<<":"<<l<<endl;
w=0;
l=0;
}
}
cout<<w<<":"<<l<<endl<<endl;
}
return 0;
}
```
by lucy2012 @ 2024-02-21 13:25:58
第一份代码,输入字符如果是`E`,程序会把num多加1。而第二份代码不是
by liuruiqing @ 2024-02-21 13:37:05
@[liuruiqing](/user/1118614) 就直接break掉了,没有多加
by liuruiqing @ 2024-02-21 13:41:24
@[liuruiqing](/user/1118614) 三克油!
by lucy2012 @ 2024-02-21 14:39:42