c#使用单循环反转字符串中的单词,而不使用反转函数和堆栈
我已经尝试过用单循环编写字符串中每个单词的反转逻辑,但没有成功。您能否提供使用单循环和不使用反转函数反转字符串中每个单词的逻辑 输入: 欢迎来到世界 输出: eht dlrow的表情提示 我的逻辑有两个循环:c#使用单循环反转字符串中的单词,而不使用反转函数和堆栈,c#,string,text,reverse,C#,String,Text,Reverse,我已经尝试过用单循环编写字符串中每个单词的反转逻辑,但没有成功。您能否提供使用单循环和不使用反转函数反转字符串中每个单词的逻辑 输入: 欢迎来到世界 输出: eht dlrow的表情提示 我的逻辑有两个循环: class Program { static void Main(string[] args) { string input = string.Empty; input = Console.ReadLi
class Program
{
static void Main(string[] args)
{
string input = string.Empty;
input = Console.ReadLine();
string[] strarr=input.Split(' ');
StringBuilder sb = new StringBuilder();
foreach (string str in strarr)
{
sb.Append(fnReverse(str));
sb.Append(' ');
}
Console.WriteLine(sb);
Console.Read();
}
public static string fnReverse(string str)
{
string result = string.Empty;
for (int i = str.Length-1; i >= 0; i--)
result += str[i];
return result;
}
}
这是
这是
给出结果“emocleW ot eht dlrow”
给出结果“emocleW ot eht dlrow”为什么你不简单地把输入字符串传递给你的函数fnRead它应该工作为什么你不简单地把输入字符串传递给你的函数fnRead它应该工作谢谢你的响应但是如果我考虑所有的程序我应该只使用一个循环但是在我的代码中我用了2个循环你能告诉我这两个循环是什么吗?我不明白。只有一个回路可用于反转string@AshkanMobayenKhiabani我想他说的是循环每个单词的
foreach
。例如,您可以使用linq查询隐藏循环,但它仍然是there@Anandkumar现在我明白你的意思了。请看一下我编辑的答案谢谢你的回答,但是如果我考虑所有的程序,我应该只使用一个循环,但在我的代码中我用了2个循环。你能告诉我这两个循环是什么吗?我不明白。只有一个回路可用于反转string@AshkanMobayenKhiabani我想他说的是循环每个单词的foreach
。例如,您可以使用linq查询隐藏循环,但它仍然是there@Anandkumar现在我明白你的意思了。请看一下我编辑的答案这和我的答案一样answer@AshkanMobayenKhiabani它看起来确实和你的一样,尽管它似乎是在你的使用此方法进行编辑之前发布的。我建议你们两个独立地得出相同的答案。@AshkanMobayenKhiabani是的,对不起,这是我在注销之前发布的最后一件事,然后我看到你们编辑了相同的答案。英雄所见略同这和我的想法一样answer@AshkanMobayenKhiabani它看起来确实和你的一样,尽管它似乎是在你的使用此方法进行编辑之前发布的。我建议你们两个独立地得出相同的答案。@AshkanMobayenKhiabani是的,对不起,这是我在注销之前发布的最后一件事,然后我看到你们编辑了相同的答案。英雄所见略同。。
string input = Console.ReadLine();
string result = "";
string tmp = "";
for (int i = input.Length - 1; i >= 0; i--)
{
if (input[i] == ' ')
{
result = tmp + " " + result;
tmp = "";
}
else
tmp += input[i];
}
result = tmp + " " + result;
Console.WriteLine(result);
string strIn = "Welcome to the world";
string strTmp = "";
string strOut = "";
for (int i=strIn.Length-1; i>-1; i--)
{
if (strIn[i] == ' ')
{
strOut = strTmp + " " + strOut;
strTmp = "";
}
else
{
strTmp += strIn[i];
}
}
strOut = strTmp + " " + strOut;