字符串处理, 主要是把 '\n' 处理成' ',而且数组不要忘了初始化()
#include<stdio.h>
#include<string.h>
char a[5005], c[5005];
void Ready()
{
char str[10];
while( gets(str), strcmp(str, "START") );
}
void solve (char *c)
{
char tmp[5005];
while( gets(tmp) && strcmp(tmp, "END") )
{
if(tmp[0] == '\0')
strcat(c, " ");
else
strcat(c, tmp);
}
}
int main()
{
int tot;
for( scanf("%d", &tot); tot--; )
{
a[0] = c[0] = '\0';
Ready();
solve(a);
Ready();
solve(c);
int l1 = strlen(a);
int l2 = strlen(c);
int i = 0, j = 0;
int ans = 0;
while( i < l1 || j < l2 )
{
if(a[i] == c[j] )
{
i++;
j++;
continue;
}
ans = 1;
if( a[i] == ' ' || a[i] == '\t' )
{
i++;
continue;
}
if( c[j] == ' ' || c[j] == '\t' )
{
j++;
continue;
}
ans = 2;
break;
}
if( ans == 0 )
printf("Accepted\n");
else if( ans == 1 )
printf("Presentation Error\n");
else
printf("Wrong Answer\n");
}
return 0;
}