我想要一个字符串中的反向词。我没有得到适当的输出。请帮帮我。
实施例
Hello world
World Hello
代码:
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Enter a string");
string s1 = Console.ReadLine();
string s2 = "";
int l = s1.Length;
for (int i = l - 1; i >= 0; i--)
{
s2 = s2 + s1[i];
}
for (int i = 0; i<s2.Length; i++)
{
if (s2[i] == ' ')
{
for(int j=i;j>0 && s2[j]!=' ';j--)
Console.Write(s2[j1]);
Console.Write(" ");
}
else if (i == s2.Length - 1)
{
for (int j = i+1; j > 0 && s2[j] != ' '; j--)
Console.Write(s2[j]);
Console.Write(" ");
}
}
}
}
答案 0 :(得分:3)
最简单的appraoch将在其边界分割单词,然后使用IEnumerable<T>.Reverse()
:
var words = myString.Split(' ');
var result = words.Reverse();
将它们全部合并为一个字符串:
var resultString = String.Join(" ", result);
最后的单线:
var result = String.Join(" ", myString.Split(' ').Reverse());
答案 1 :(得分:-1)
只需使用内置的Linq方法:
Console.WriteLine("Please input string");
string input = Console.ReadLine();
string reversed = string.Join(" " , input.Split(' ').Reverse());