代码如下:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(void)
{
int n = 0;
char **string = (char**)malloc(2501 * sizeof(char*));
for(int i = 0; i < 2500; i++) {
string[i] = (char*)malloc(25 * sizeof(char));
}
// 将所有字符全部读取并存储
while(fgets(string[n], sizeof(char*), stdin) != NULL) {
string[n][strlen(string[n])] = '\0'; //换行符替换
n++;
}
//用11分计数
int a = 0, b = 0;
for(int i = 0; i < n; i++) {
for(int j = 0; string[i][j] != '\0'; j++) {
if(string[i][j] == 'E') {
printf("%d:%d\n", a, b);
goto rule21;
} else {
if(string[i][j] == 'W') {
a++;
}
else if(string[i][j] == 'L') {
b++;
}
if(abs(a - b) >= 2 && (a >= 11 || b >= 11)) {
printf("%d:%d\n", a, b);
a = 0; //归零
b = 0;
}
}
}
}
rule21:
puts(" ");
a = 0;
b = 0;
for(int i = 0; i < n; i++) {
for(int j = 0; string[i][j] != '\0'; j++) {
if(string[i][j] == 'E') {
printf("%d:%d", a, b);
goto end;
} else {
if(string[i][j] == 'W') {
a++;
}
else if(string[i][j] == 'L') {
b++;
}
if(abs(a - b) >= 2 && (a >= 21 || b >= 21)) {
printf("%d:%d\n", a, b);
a = 0; //归零
b = 0;
}
}
}
}
end:
for(int i = 0; i < 2500; i++) {
free(string[i]);
}
free(string);
return 0;
}