字符串排序(HJ26)

一:解题思路

二:完整代码示例 (C++版和Java版)

C++代码:

#include <iostream>
#include <vector>
#include <string>

using namespace std;

int main()
{
    string str = "";
    while (cin >> str)
    {
        vector<char> result;
        for (int j = 0; j < 26; j++)
        {
            for (int i = 0; i < str.size(); i++)
            {
                if (str[i] - 'a' == j || str[i] - 'A' == j)
                {
                    result.push_back(str[i]);
                }
            }
        }
        int index = 0;
        for (int i = 0; i < str.size(); i++)
        {
            if ((str[i] >= 'A' && str[i] <= 'Z') || (str[i] >= 'a' && str[i] <= 'z'))
            {
                if (index < result.size())
                {
                    cout << result[index];
                    index++;
                }
            }
            else
            {
                cout << str[i];
            }
        }

        cout << endl;
    }

    return 0;
}

 

posted @ 2020-08-06 20:17  repinkply  阅读(388)  评论(0)    收藏  举报