他の人にだけ見ては、グループ内のトピックを作りました

 これは取り扱いソート+文字列の対象を、難易度がPAT B、3番目の質問では5つの質問に属します。

分析:辞書式順序は、辞書内の文字列の順序です。たとえば、

1。「A」は辞書未満です「」。

2。「A」は「B」よりも辞書的に小さいです。

3。「AA」は辞書式順序は、あまり「AAAA」より

4。「AAAA」は、ここでは最上位ビットから、文字の文字の比較「AAB」辞書順より辞書順で小さくなっています。

5。「AA」辞書式順序は、以下「AA」以上であります

書式#include <iostreamの> 
の#include <アルゴリズム>
 使用して 名前空間はstdを、

ブール CMP( A、B){
     // 计算单词ASCII值、并转小写单词
    INT SUM1 = 0、SUM2 = 0 以下のためにINT iが= 0 ; I <a.sizeを(); ++ I){ 
        SUM1 + = [I]。
        [I] = TOLOWER([I])。
    } 
    ためINT iが= 0 ; I <b.size(); ++ I){ 
        SUM2 + =B [I]、
        B [I] = TOLOWER(B [I]); 
    } 
    IF(!A = B)戻り A <B; // 比較小文字ワード
     リターン SUM1 <SUM2; // 同じ単語、それはよりASCIIでありますそして
} 

int型のmain(){
     int型nは、
     文字列 STR [ 100 ]; 
    CIN >> N;
     のためのINT I = 0、I <N; ++ I)// N単語入力
        CIN >> STR [I]。
    ソート(STR、STR + N-、CMP); //小文字の単語に変換辞書、元のワードASCIIコード、对单词排序
     ためINT iは= 0、I <N; ++ I){
         場合(I> 0)のprintf("  " )。
        coutの << STR [i]は、
    } 
    戻り 0 
}

 

 

おすすめ

転載: www.cnblogs.com/keep23456/p/12356278.html