judgetime 简单的判断编译问题

判断程序的代码错误和格式错误(在多余字符为'\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;
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值