请问为什么在dev-c++上运行正确但是洛谷上0分?

P1914 小书童——凯撒密码

horizonlc @ 2019-01-19 23:07:45

#include<iostream>
#include<cstring>
#include<cstdio>
#include<stdlib.h>
#define N 55
using namespace std;

char a[N];
int main(){
    int n;
    cin >> n;
    fflush(stdin);
    gets(a);
    int len=strlen(a);

    for(int i=0;i<len;i++){
        if(a[i]+n<='z'){
            putchar(a[i]+n);
        }
        else{
            putchar((a[i]+n-'a')%26+'a');
        }
    } 
    return 0;
}

真的想了一晚上了还是不清楚到底是什么问题》是编译环境的不同还是oj的bug?


by 小粉兔 @ 2019-01-19 23:16:14

gets危险别用


by hyzxxqc @ 2019-01-20 08:38:41

@horizonlc 你编译通过了又不代表代码是正确的(代码不正确当然报0)


by horizonlc @ 2019-01-21 20:52:02

@hyzxxqc 这个确实明白。只是我自己在编译器上运行的结果也是对的但是在洛谷上却报错而且报错信息和我运行的结果完全不同该如何解释呢?


by horizonlc @ 2019-01-21 20:56:06

是编译环境的问题吗?(我好像只是知道可能是这个原因但是并不清楚该如何解决)


|