2017-04-12 92 views
-2

例如,我的輸入是my name is abcd
我需要顯示爲dcba si eman ym
我已經做了下面這給人一種輸出爲abcd is name my
但不知道下一步該怎麼做串扭轉C#

static void Main(string[] args) 
{ 
    Console.WriteLine("Enter a string: "); 
    string[] input = Console.ReadLine().Split(' '); 

    for (int i = input.Length-1; i >=0; i--) 
    { 
     Console.Write(input[i]+" "); 
    } 
    Console.ReadKey(); 
} 
+2

如果您要反轉字符串,將字符串拆分爲「單詞」的目的是什麼?只需調用[ToCharArray()](https://msdn.microsoft.com/en-us/library/system.string.tochararray.aspx)字符串(這會給你的字符),然後遍歷這些字符。 –

回答

0

試試這個,這將很好地工作。我認爲這是你一直在尋找的!

string Str, reversestring = ""; 
     int Length; 
     Console.Write("Enter A String : "); 
     Str = Console.ReadLine(); 
     Length = Str.Length - 1; 
     while (Length >= 0) 
     { 
      reversestring = reversestring + Str[Length]; 
      Length--; 
     } 
     Console.WriteLine("Reverse String Is {0}", reversestring); 
     Console.ReadLine(); 

我的小提琴例如:Reverse with Words and Text

0

你不需要.Split(' ')string[] input = Console.ReadLine().Split(' ');

你可以簡單地閱讀string input = Console.ReadLine();整行則扭轉整個線。

如果你看看下面的鏈接,它提供了兩個選項。

  1. 通過從端部到開始和輸出它的每一字符逆向使用Array.Reverse
  2. 循環整個字符串。

https://www.dotnetperls.com/reverse-string#d

1

您可以使用API​​ - Array.Reverse

char[] charArray = input.ToCharArray(); 
Array.Reverse(charArray); 
reversed = new string(charArray); 
0

你的代碼做的是倒車用文字初始字符串,像這樣:

my name is abcd --> abcd is name my 

要改變這一點,你需要閱讀整個字符串和使用它作爲字符數組:

var input = Console.ReadLine(); 
var sb = new StringBuilder(input.Length); 
for (var i = input.Length - 1; i >= 0; --i) 
{ 
    sb.Append(input[i]); 
} 
Console.WriteLine(sb.ToString()); 

您也可以使用Array.Reverse方法:

var input = Console.ReadLine(); 
var charArray = input.ToCharArray(); 
Array.Reverse(charArray); 
var reversed = new string(charArray); 
Console.WriteLine(reversed);