天天看点

Bailian2752 字符串数组排序问题【排序】

Bailian2752 字符串数组排序问题

问题简述:(略)

问题分析:简单的字符串排序问题,不解释。

程序说明:(略)

参考链接:(略)

题记:(略)

AC的C++语言程序如下:

/* Bailian2752 字符串数组排序问题 */

#include <bits/stdc++.h>

using namespace std;

const int N = 50;
string s[N];

bool cmp(string a, string b)
{
    int len = min(a.size(), b.size());
    for(int i = 0; i <= len; i++)
        if(toupper(a[i]) < toupper(b[i])) return true;
        else if(toupper(a[i]) > toupper(b[i])) return false;
    return true;
}

int main()
{
    string p;
    int n;

    cin >> p >> n;
    getline(cin, s[0]);
    for(int i = 0; i < n; i++)
        getline(cin, s[i]);

    if(p == "inc") {
        sort(s, s + n);
        for(int i = 0; i < n; i++)
            cout << s[i] << endl;
    } else if(p == "dec") {
        sort(s, s + n);
        for(int i = n - 1; i >= 0; i--)
            cout << s[i] << endl;
    } else if(p == "ncinc") {
        sort(s, s + n, cmp);
        for(int i = 0; i < n; i++)
            cout << s[i] << endl;
    } else if(p == "ncdec") {
        sort(s, s + n, cmp);
        for(int i = n - 1; i >= 0; i--)
            cout << s[i] << endl;
    }

    return 0;
}
           

继续阅读