在线判断的不同输出
Different output on online judge
我在hackerrank(在线法官)中尝试了一个问题。任务是获取一个输入字符串,然后首先打印偶数索引的字符,然后打印一个空格,然后打印给定数量的测试用例"n"的奇数索引中的字符。我能够解决它。但是,我在编译器上得到不同的输出,在在线法官中得到不同的输出。我在计算机上获得的输出是正确的,但我在在线评判中没有得到相同的输出。这是我的代码:-
#include <cmath>
#include <cstdio>
#include <vector>
#include <iostream>
#include <algorithm>
#include <string.h>
using namespace std;
int main()
{
int n;
cin>>n;
getchar();
char s[1000];
for(int i=0;i<n;i++)
{
cin.getline(s,1000);
int len;
len=strlen(s);
for(int j=0;j<=len;j++)
{
if(j%2==0)
cout<<s[j];
}
cout<<" ";
for(int m=0;m<len;m++)
{
if(m%2!=0)
{
cout<<s[m];
}
}
cout<<endl;
}
return 0;
}
给定输入
1
黑客
使用 g++ 在我的计算机上运行时的输出
Hce akr
在线裁判运行时的输出
Hce
请帮忙。注意:0 被视为偶数索引。
for(int j=0;j<=len;j++)
{
if(j%2==0)
cout<<s[j];
}
你写的是<=
而不是<
.
在这里,当单词长度为偶数时(如"Hacker"),您也会意外打印终止 NULL。
其结果取决于您的执行环境。显然您的终端只是忽略了它,而您所说的这个"在线判断"并没有,而是将其用作程序输出的 NULL 终止符!!(如果你问我,这是糟糕的编码)
注:注:您不会从编译器获取程序输出。你通过执行程序来获得它,编译器无法控制它。
另外,为了克苏鲁的热爱,请缩进您的代码并使用有意义的变量名称?
相关文章:
- 递归函数计算序列中的平方和(并输出过程)
- 如何使用 < 和 > 命令获取 c++ 中的输入和输出?
- 请解释"函数1(p1,p2,p3);"的输出
- C++:将控制台输出存储在宏中更好吗
- 创建一个函数以在输入为负数或零时输出字符串.第一次执行用户定义的函数
- 如何在OMNET++中指定与命令行参数组合的输出文件名
- 为什么我的代码在输出中增加了93天
- 如何从void函数输出字符串
- 输入到文件并输出到另一个文件,并将流文件传递给函数
- AES加密到解密未正确输出
- 如何将c++程序的一些输出传递给shell,以便在shell中使用
- 使用C++程序合并排序没有得到正确的输出
- 为什么我不能在不创建字符串变量的情况下使用函数的字符串输出
- C++格式化输出问题
- 将值从二维数组输出到文本文件
- 集合上的输出迭代器:assign和increment迭代器
- 在while循环中输入带有std::cin的字符串后,控制台会输出大量胡言乱语
- 为什么rk4.do_step不输出C++中的初始条件
- 输出没有重复元素的动态数组(收缩数组)C++
- 在线判断的不同输出