説明
一部の英語のエッセイには、(次の句読点に各単語の前と後を含む)の単語の間のスペースで区切られています。次のようにしてくださいエッセイの再公開要件は、次のとおりです。
各行はより80文字以下であり、各ワードは、同一線上にある、同じ列の単語間のスペースで区切られ、最初の行と行の末尾にスペースがありません。
入力
最初の行をnは整数であり、英語のエッセイ中の単語の数を表す。nは続く英語の単語(単語の直前と句読点の後、ワード長40文字より大きくない各など)スペースで区切ら。
出力
レイアウト後の複数行のテキストは、80文字までのテキストの行あたりの文字数は、単語間のスペースでスペースがない始めから終わりまでのテキストの各行を分離しました。
サンプル入力:
84
一つのうだるような日は、私はコーンにアイスクリームをすくい、彼らは抱擁のために私からコーンを「買う」ことができ、私の4人の子供を言われました。ほとんどすぐに、子供たちは彼らの購入を行うために並んで。最年少3それぞれが、私に迅速な抱擁を与えた彼らのコーンをつかんで外に戻ってレース。行の終わりに私の十代の息子が最終的に彼のアイスクリームを「買い」に彼のターンを得たときしかし、彼は私に2人の抱擁を与えました。「変更を維持する」と彼は笑顔で言いました。
出力例:
一つのうだるような日は、私はコーンにアイスクリームをすくって、私の4言われた
彼らは抱擁のために私からコーンを「買う」ことができ、子供を。ほとんどすぐに、子供たちは
彼らの購入を行うために並んで。最年少3それぞれが、私に迅速な抱擁を与えた
彼らのコーンをつかんで外に戻ってレース。最後に私の十代の息子のときでも
ラインのは、最終的に彼のアイスクリームを「買い」に彼のターンを持って、彼は私に2人の抱擁を与えました。
「変更を維持する」と彼は笑顔で言いました。
C ++言葉遣い:
書式#include <iostreamの> の#include <CStringの> 使用して 名前空間はstdを、 int型のmain() { チャーワード[ 1000 ] [ 40 ]; // 各ワードを格納する intを [wordsLen 1000 ;] // 各ワードの長さを記録 INT N-し; // 単語の総数を処理する >> CINをN-。 。CIN GET(); // (CIN使用後cin.get)、改行を読み出す ため(INT Iは= 0 ; I <N-; I ++)// 入力データワード、後処理の長さを得るために各ワード { チャーTEMP; のための(INT J = 0 ; J < 40 ; J ++ ){ CIN。取得(一時); もし(一時!= ' ' &&一時!= ' \ n ' ){ 言葉[I] [J] = TEMP; } 他 { wordsLen [i]を = J; 休憩; } } } // 最初の単語の最初の出力 INTの長さ= wordsLen [ 0 ]; のための(INT J = 0 ; J <wordsLen [ 0 ]; J ++ ) COUT <<言葉[ 0 ] [J]。 以下のために(INT iが= 1 ; I <N; I ++ ) { // 行の前に一緒にスペースを追加した単語ではなく、変更、及びワードスペースの出力ない場合 IF(長さ+ 1 + wordsLen [I] <= 80 ) { 長さ =長さ+ 1 + wordsLen [I]。 coutの << ' ' ; 用(INT J = 0 ; J <wordsLen [I]; J ++ ) coutの << 言葉[I] [J]。 } 他// 一緒にラインフィード、キャリッジリターンと出力ワード長の前のスペースを添加した単語は、さらに、前バンクのワード長がリセットされた場合 { coutの << てendl; 長さ = wordsLen [I]。 用(INT J = 0 ; J <wordsLen [I]; J ++ ) coutの << 言葉[I] [J]。 } } リターン 0 ; }
C#の拡張文言:(続)
オリジナルリンクします。https://blog.csdn.net/panda711/article/details/50750620