A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 吴承烨 中级黑马   /  2013-6-21 18:05  /  1451 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

输入l love you 输出 l evol uoy
看视频时,碰到的题,求最简单,最容易理解的算法.

3 个回复

倒序浏览
本帖最后由 蔡志涛 于 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();
        }


回复 使用道具 举报
2楼的方法不错,挺好的。如果看的迷糊的话,
大概的思路应该是这个样子吧
1.先定义一个数组
2.把这句话里的每个单词,分出来放到刚定义的数组中。用2楼提到的Split是个不错的选择。
3.然后再用循环把每个词,进行颠倒,也就是反输出。
4.最后再重新放到字符串中。
5.看完我这个过程,再回头看看2楼的代码。应该不难了。
回复 使用道具 举报
本帖最后由 黄文超 于 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();
        }
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马