2017-03-07 5 views
0

を追加する私は、ユーザーから単語を要求し、その後のような別々の行でそれを記述する必要があります。新しいキャラクターにそれぞれの行のC#

w 
wo 
wor 
word 

初めてここに助けを求めます。私は今、1時間試しています。

EDIT:

Console.WriteLine("Enter a word:"); 

string word; 
word = Console.ReadLine(); 

for (int i = 0; i < word.Length; i++) 
{ 
    Console.WriteLine(word[i]); 
} 
+3

あなたが試したことと動作しなかった場所を示すことができます – Jonesopolis

+0

[Environment.NewLine](https://msdn.microsoft.com/en-us/library/system.environment.newline(v = vs .110).aspx) –

+0

@ user7673816:コードの出力は、希望の出力とどう違うのですか?それを修正するためにはまだ何が必要ですか? – David

答えて

4

だから、あなたは近いですが、あなたが見ることができるよう、あなたのループの各反復で、あなただけの単語にインデックスiで、単一の手紙を書いています。あなたは(1つの簡単な解決策として)実行する必要があり何

はあなたが「構築」と各ループの繰り返しでプリントアウトし、別の文字列を作成することです:

string builder = ""; 
for (int i = 0; i < word.Length; i++) 
{ 
    builder += word[i]; 
    Console.WriteLine(builder); 
} 
+0

ありがとう、これは私が探していたものです! – Bontano

+2

+1素敵で簡単な答えは、直接的であり、可能な限りOPのオリジナルコードの多くを使用します。 – David

0

また、LINQを使用してそれを達成することができます

Console.WriteLine("Enter a word:"); 
string word = Console.ReadLine().Trim(); 
word.Select((c, i) => word.Substring(0, i + 1)) 
    .ToList() 
    .ForEach(Console.WriteLine); 
+2

はい、これは動作しますが、OPは基本的なアルゴリズムを作成するだけで苦労しているので、各自が何をしているのか説明していない彼/彼女のLINQの束は、もっと混乱を招くだけです。 – David

1

あなたはあなたの問題を解決するためにSubstringを使用することができます。

Console.WriteLine("Enter a word:"); 

string word = Console.ReadLine(); 
for (int i = 0; i < word.Length; i++) 
{ 
    Console.WriteLine(word.Substring(0, i+1)); 
} 

参照してください。このfiddle

関連する問題