Challenge:给定2个输入字符串,输出三行:
我生成的代码:
#include <iostream>
#include <string>
using namespace std;
int main() {
// Complete the program
string firstString, secondString;
cin>>firstString>>secondString;
cout<<firstString.length()<<" "<<secondString.length()<<"\n";
cout<<firstString<<secondString<<"\n";
string wierdString;
wierdString = secondString[0];
for ( int i = 1; i <= firstString.length(); i++ ) {
wierdString += firstString[i];
}
wierdString = wierdString + " " + firstString[0];
for ( int j = 1; j <= secondString.length(); j++ ) {
wierdString += secondString[j];
}
cout << wierdString;
return 0;
}
测试用例:
输入(stdin)
abcd ef
您的输出(标准输出)
4 2
abcdef
ebcd af
预期输出
4 2
abcdef
ebcd af
编译器消息
错误答案
对我来说(作为初学者),输出看起来就像预期的输出。我的代码(using namespace std;
除外)是否会导致此问题无效?我还是初学者,我想知道出了什么问题。
答案 0 :(得分:4)
字符串s
的索引编号为0到s.length() - 1
(含)。您正在使用以下条件进行迭代:i <= firstString.length()
表示从字符串末尾开始读取。
答案 1 :(得分:2)
代码似乎工作正常,您也可以获得所需的输出。我认为没有什么可以出错