に、あなただけの最後を拾っていますあなたの配列の要素。
編集:更新された要件に従って、このコードを使用することができます。
//Get the sentence array
var sentence = Console.ReadLine().Split(' ');
var rearrangedSentence = new StringBuilder();
//Get the length of longest word in array
int loopLength = sentence.OrderBy(n => n.Length).Last().Length;
int x = 0;
// Run for the length of longest word
for (int i = loopLength-1; i >=0 ; i--)
{
// need to pick up an element at every run for each element.
for (var j = 0; j < sentence.Length; j++)
{
//Picking the position of item to be picked up
int val = sentence[j].Length - (x + 1);
// If index not out of bounds
if(val >= 0 && val <= sentence[j].Length)
{
// Pick the character and append to stringbuilder.
rearrangedSentence.Append(sentence[j][val]);
}
}
// Next letter should be n-1, then n-2.
// Increase this. Val will decrease
x++;
}
Console.WriteLine(rearrangedSentence.ToString());
Console.ReadLine();
私は要件について混乱しています。それは "これはテストですか" => "テストはこれですか"、または=> "問題はありますか?" – Fildor
変数を詳しく見てみましょう(varを使うと、その中に何が入っているのかを忘れてしまいます)。あなたは、それを逆にするために各単語に必要なnothngがないときに繰り返す必要はありません。スクラブル手紙のバッチをくれた? – BugFinder
要件の記述が非常に間違っています。 _「最初の手紙のためにしかできません。」_それぞれの単語の最後の文字を出力しているようですが、順方向に出力しているようです。実際に必要なのは何ですか? –