评测机炸了吗?

回复帖子

@御坂10026号 2020-08-02 00:08 回复

本人在做这道题的时候,写了一份代码,交上去全部WA掉,下下来一份数据:

in:

123

123

out:

246

本人的代码结果也是246,但是不知道为什么交上去错了,显示的是:

Wrong Answer. wrong answer On line 1 column 3, read -, expected 6.

求大佬解答!!

#include<cstdio> 
#include<cstring>
int a[5005],b[5005],c[5005];
char num1[5005],num2[5005];
int lena,lenb,lenc; 
int main(){
    gets(num1);
    gets(num2);
    lena=strlen(num1);
    lenb=strlen(num2);
    lenc=0;
    for(int i=1;i<=lena;i++)
        a[i]=num1[lena-i]-'0';
    for(int i=1;i<=lenb;i++)
        b[i]=num2[lenb-i]-'0';
    int x=0;
    while(lenc<=lena||lenc<=lenb){
        c[lenc]=a[lenc]+b[lenc]+x;
        x=c[lenc]/10;
        c[lenc]%=10;
        lenc++;
    }
    c[lenc]=x;
    if(c[lenc]==0)
        lenc--;
    for(int i=lenc;i>=1;i--)
        printf("%d",c[i]);
    return 0;
}
@do_while_true  2020-08-02 00:17 回复 举报

应该是数据中换行符是\r\n,Linux评测机的gets把\r看成一个字符了,多读进去了一个。

而在你Windows本地测没有问题因为\r\n就是Windows下的换行符,不会被读进去

反馈
如果你认为某个帖子有问题,欢迎向洛谷反馈,以帮助更多的同学。



请具体说明理由,以增加反馈的可信度。