卡码网语言基础课 | 神秘字符
题目描述
考古学家发现墓碑上有神秘的字符。经过仔细研究,发现原来这是开启古墓入口的方法。
墓碑上有2行字符串,其中第一个串的长度为偶数,现在要求把第2个串插入到第一个串的正中央,如此便能开启墓碑进入墓中。
输入描述
输入数据首先给出一个整数n,表示测试数据的组数。(整个输入中,只有一个n)
然后是n组数据,每组数据2行,每行一个字符串,长度大于0,小于50,并且第一个串的长度必为偶数。
输出描述
请为每组数据输出一个能开启古墓的字符串,每组输出占一行。
输入示例
2
asdf
yu
rtyu
HJK
输出示例
asyudf
rtHJKyu
#include <iostream>
#include <string>
using namespace std;
int main(){
int n;
cin >> n;
while(n--){
string str1 = "";
string str2 = "";
string str3 = "";
cin >> str1 >> str2;
int size_str1 = str1.size();
// s.substr(pos, len)
// 从pos开始复制字符串,直到pos + len表示[pos,pos + len)为止。
str3 = str1.substr(0, size_str1 / 2) + str2 + str1.substr(size_str1 / 2 , size_str1 / 2);
// for (int i = 0; i < size_str1; i++) {
// if(i < size_str1 / 2)
// str3 += str1[i];
// else if(i == size_str1 / 2){
// str3 += str2;
// str3 += str1[i];
// }
// else
// str3 += str1[i];
// }
cout << str3 << endl;
}
return 0;
}