単語のソート(文字列関数のまとめ)

1289 ワード

質問D:単語の並べ替え(クリック)
時間制限:1 Secメモリ制限:128 MBコミット:448解決:155[提出][状態][討論版][命題者:admin]
タイトルの説明
紅ちゃんはたくさんの英語の単語をマスターして、お母さんは紅ちゃんの記憶を強化するために、紙、ペンを出して、n個の単語を紙の上の1行に書いて、紅ちゃんに数秒見させた後、この紙を机の上に掛けました.お母さんは紅さんに聞いた:これらのn個の単語を辞書の順序に従って、小さい頃から大文字にすることができますか.紅ちゃんは母の要求に従って答えを書いた.今、プログラムを書いて、お母さんが紅ちゃんの答えが正しいかどうかをチェックしてください.注意:すべての単語は小文字で構成され、先頭文字はすべて異なり、単語の2つの間は1つのスペースで区切られています.
 
入力
2行あります.最初の行には正の整数nが1つしか含まれていません(0単一の単語の長さは10を超えません.
 
しゅつりょく
1行のみ:母が書いた単語に対して、辞書の順番で小さいものから大きいものまで1行に並べた結果、単語の2つの間に1つのスペースで区切られます. 
 
サンプル入力
サンプルデータのコピー
4
city boy tree student

サンプル出力
boy city student tree

考え方:
最初はこの問題を複雑に考えていたが、すべての単語の冒頭が違うことに気づかなかったが、複雑に考えたからこそ先輩に聞いたstrcmp関数(辞書順比較)を思い出した.
泡をつけてこの問題を解決した.
コード:
#include
#include           //           
int main()
{
    int n,i,j;
    char a[35][15],temp[15];       //                       
    scanf("%d",&n);
    for(i=0;i0){
                strcpy(temp,a[j]);
                strcpy(a[j],a[j+1]);      //                       
                strcpy(a[j+1],temp);
            }
        }
    }
    for(i=0;i