合并字符串

题目描述

给定两个字符串S1和S2,合并成一个新的字符串S。 合并规则为,S1的第一个字符为S的第一个字符,将S2的最后一个字符作为S的第二个字符; 将S1的第二个字符作为S的第三个
字符,将S2的倒数第二个字符作为S的第四个字符,以此类推。

输入描述:

包含多组测试数据,每组测试数据包含两行,代表长度相等的两个字符串S1和S2(仅由小写字母组成,长度不超过100)。

输出描述:

合并后的新字符串S

分析

方法一:两个字符串长度相等,不用真的合并成一个字符串,依次输出字符就行

#include <iostream>
#include <string>
#include <algorithm>
using namespace std;

int main(){
    string s1, s2, s;
    while(cin >> s1 >> s2){
       // reverse(s2.begin(), s2.end());
        for(int i = 0; i < s1.size(); i++){
            cout << s1[i] << s2[s1.size() - i - 1];
        }
        cout << endl;
    }
    return 0;
}

方法二:

合并成一个字符串再输出,用函数reverse(s2.begin(), s2.end())将s2反转一下更好处理,不反转也行,参照方法一

#include <iostream>
#include <string>
#include <algorithm>
using namespace std;

int main(){
    string s1, s2, s;
    while(cin >> s1 >> s2){
        reverse(s2.begin(), s2.end());// 反转s2
        for(int i = 0; i < s1.size(); i++){
            s += s1[i];
            s += s2[i];
        }
        for(int i = 0; i < 2 * s1.size(); i++){
            cout << s[i];
        }
        cout << endl;
    }
    return 0;
}

猜你喜欢

转载自www.cnblogs.com/zhuobo/p/10211899.html