网易雷火2019实习笔试编程题-字符串特定格式拼接输出

编程题描述

给定两个长度相同的字符库数组AB,对A字符串数组进行排序。数组长度不多于1000。排序规则根据字符串按各字母顺序进行升序。最后输出A[i]=&A[i+1]B[i]格式的字符串。

输入描述

输入两个个字符串数组,针对输入相同的字符串提示”input error”

输出描述

按照要求排序后拼接的字符串

输入样例

ock ame word
HYXxxS jack this

输出样例

ame=HYXxxS&ock=jack&word=this

C++程序

#include <iostream>
#include <cstdio>
#include <cmath>
#include <algorithm>
#include <cstring>
#include <queue>
#include <map>
#include <string>
#include <vector> 
using namespace std;

int main()
{
    vector<string> A, B;
    string str;
    char ch;
    int flag = 0;
    while (cin >> str) {
            if (find(A.begin(), A.end(), str) != A.end())  
        {
             flag=1;
        }
        else flag=0;
        A.push_back(str);
        if ((ch = getchar()) == '\n')
            break;


    }
        if ( flag==1)  //如果找到,输出报错 
        {
            cout << "input error"<<endl;
            return 0;
        }

    int lengthA = A.size();
        while (cin >> str) {
            B.push_back(str);
            if ((ch = getchar()) == '\n')
                break;
        }
    int lengthB = B.size();

    sort(A.begin(), A.end());
    sort(B.begin(), B.end());
    cout << A[0] << "=";
    for (int i = 1; i < lengthA; i++)
        cout << B[i - 1] << "&" << A[i] << "=";
    cout << B[lengthB - 1] << endl;
    return   0;
}