輸入一組正整數,以0結束,輸出這組正整數能夠組成的最大整數

輸入一組正整數,以0結束,輸出這組正整數能夠組成的最大整數app

示例:排序

輸入:22 20 11 3 0ci

輸出:3222011字符串

 

思路:string

1. 將輸入的N的整數存儲起來stream

2. 對存儲的字符串煩字典排序sort

3. 將排序好的字符串鏈接起來while

 

 

bool compare(string p1,string p2)
{
    if (strcmp(p1.c_str(),p2.c_str())<0) return true;
    else return false;
}co

//整數轉字符串
string num2str(int i)
{
    stringstream ss;
    ss<<i;
    return ss.str();
}

string CombineNum()
{
    int n = -1;
    vector<string> vec;
    while(n != 0)
    {
        cin>>n;
        if(0 != n )
        {
            vec.push_back(num2str(n));
        }
    }
    sort(vec.begin(),vec.end(),compare);
    reverse(vec.begin(),vec.end());
    string result = "";
    for (int i = 0;i < vec.size();i++)
    {
        result.append(vec[i]);
    }
    vec.clear();
    return result;
}字典

相關文章
相關標籤/搜索