判断程序的代码错误和格式错误(在多余字符为'\t',' ','\n'的情况下)和Accepted
#include<stdio.h>
#include<string.h>
int main()
{
int n;
scanf("%d",&n);
//getchar();
while(n--)
{
char a[6]="START";
char d[10],e[10],right[1000],wrong[1000];
scanf("%s",d);
//printf("%s\n",d);
getchar();
int i;
if(strcmp(d,a)==0)
{
char t;
i=0;
while(scanf("%c",&t))
{
right[i]=t;
if(right[i]=='\n'&&right[i-1]=='D'&&right[i-2]=='N'&&right[i-3]=='E')
{
i=i-4;
break;
}
i++;
}
}
int rightnumber=i+1;
/*for(i=0; i<rightnumber; i++)
printf("%c",right[i]);*/
scanf("%s",e);
getchar();
if(strcmp(e,a)==0)
{
char t;
i=0;
while(scanf("%c",&t))
{
wrong[i]=t;
if(wrong[i]=='\n'&&wrong[i-1]=='D'&&wrong[i-2]=='N'&&wrong[i-3]=='E')
{
i=i-4;
break;
}
i++;
}
}
int wrongnumber=i+1;
/*for(i=0; i<wrongnumber; i++)
printf("%c",wrong[i]);*/
int j=0,k=0,u=0,l;
l=wrongnumber>rightnumber?wrongnumber:rightnumber;
for(i=0; i<l;)
{
u=0;
if(wrong[i]!=right[j])
{
if(wrong[i]==' '||wrong[i]=='\t'||wrong[i]=='\n')
{
i++;
k=1;
u=1;
continue;
}
if(right[j]==' '||right[j]=='\t'||right[j]=='\n')
{
j++;
k=1;
u=1;
continue;
}
if(u==0)
{
k=2;
break;
}
}
i++;
j++;
}
if(k==0)
printf("Accepted\n");
if(k==1)
printf("Presentation Error\n");
if(k==2)
printf("Wrong Answer\n");
}
return 0;
}