C++タイトル--文字列の結合

1568 ワード

【問題の説明】
キーボードから2つの整列文字列(文字 ASCII 、そして )を入力し、2つの文字列を連結し、要求を求め、連結後の結果を出力します.
【入力形式】
行:キーボードから2つの整列文字列を入力します(各文字列は50文字を超えません).
【出力形式】
連結後の整列文字列の出力
【入力サンプル】abcdeg bdfh
【出力サンプル】abcdefgh
【サンプル説明】
2つの整列文字列abcdegbdfhを入力し、出力マージ後の整列文字列はabcdefghとします.
この問題について私の考え方は、2つのライブラリ関数を利用して、sort()unique()、先に並べ替えて、それからやり直して、unique()で並べ替えた後の最初の繰り返しデータの下付きを取って、前の繰り返しデータを出力しないでくださいsort(),unique()不慣れな場合は、sort():C++ソート関数sort unique():超単純C++デソート
まず必要な知識を準備する必要があります.
  • Cスタイル文字列とC++スタイル文字列変換:c_str()
  • 文字列をコピーする関数:strcpy()
  • 私のコードは次のように実装されています.
    #include 
    #include 
    #include 
    #include 
    
    using namespace std;
    
    int main()
    {
        int i;
        string s1;
        string s2;
    
        cin >> s1;
        cin >> s2;
    
    	//      
        s1 += s2;
    
    	//            
        const int length = s1.size();
    
    	//       
        sort(s1.begin(), s1.end());
    
    	//                   ,    
    	//  C++      s1,   C      ,     t
        char t[length];
        strcpy(t, s1.c_str());
        
    //    const char* p = s1.c_str();
    //    for (i = 0; i < length; i++)
    //        t[i] = p[i];
    
    	//   ,            
        int n = unique(t, t + length) - t;
    
    	//            
        for (i = 0; i < n; i++)
            cout << t[i];
    
        return 0;
    }
    

    以上