黑马程序员技术交流社区
标题:
字符串反输出
[打印本页]
作者:
吴承烨
时间:
2013-6-21 18:05
标题:
字符串反输出
输入l love you 输出 l evol uoy
看视频时,碰到的题,求最简单,最容易理解的算法.
作者:
蔡志涛
时间:
2013-6-21 18:10
本帖最后由 蔡志涛 于 2013-6-21 18:13 编辑
这是我的一种代码,我觉的不同方法的差异就在于交互字符的算法吧,其它的部分比如分割字符串等应该都是一样的
static void Main(string[] args)
{
Console.WriteLine("请输入一句英文?");
string A =Console.ReadLine();
String[] S= A.Split(new char[] { ' '}, StringSplitOptions.RemoveEmptyEntries);
//把输入的字符串按空格分割
string B = "";
foreach (var item in S)
{
int leng=item.Length-1;
char[] items= item.ToArray();
for (int i = 0; i <= leng/2; i++)
{
// 交换字符
char temp;
temp=items
;
items
= items[leng-i];
items[leng-i] = temp;
}
string a=new string(items);
//把字符组合成字符串
B+= a+" ";
}
Console.WriteLine(B);
Console.ReadKey();
}
作者:
道法乾坤110
时间:
2013-6-21 19:29
2楼的方法不错,挺好的。如果看的迷糊的话,
大概的思路应该是这个样子吧
1.先定义一个数组
2.把这句话里的每个单词,分出来放到刚定义的数组中。用2楼提到的Split是个不错的选择。
3.然后再用循环把每个词,进行颠倒,也就是反输出。
4.最后再重新放到字符串中。
5.看完我这个过程,再回头看看2楼的代码。应该不难了。
作者:
黄文超
时间:
2013-6-22 22:42
本帖最后由 黄文超 于 2013-6-22 22:49 编辑
static void Main(string[] args)
{
Console.WriteLine("请输入字符串");
string str=Console.ReadLine();
string[] strArr=str.Split(' ');
int strcount = 0;
foreach (string strTemp in strArr)
{
for (int i = strTemp.Length - 1; i >= 0; i--)
{
Console.Write(strTemp
);
}
strcount++;
if (strcount < strArr.Length)
{
Console.Write(' ');
}
}
Console.ReadLine();
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2