黑马程序员_怎样实现元素的反转

怎样实现元素的反转
1.利用中间变量赋值交换
               temp = a;  把 a 的值赋给 temp
               a = b;   把 b 的值赋给 a
               b = temp;  把 temp 的值赋给 b
               这样就实现了两个变量的值的交换

        static void Main(string[] args)
        {
            int a = 10, b = 5;
            int temp;
            Console.Write("反转前的元素:a={0}, b={1}", a, b);
            temp = a;
            a = b;
            b = temp;
            Console.Write("反转后的元素:a={0}, b={1}", a, b);           
            Console.ReadKey();
        }

2.调用方法连续交换
        static void Main(string[] args)
        {
            int[] Array = new int[5];
            for (int i = 1; i < 6; i++)
            {
                Console.WriteLine("请输入第{0}个数字",i);
                Array[i - 1] = int.Parse(Console.ReadLine());
            }
            Console.Write("反转前的元素:");
            foreach (int element in Array)
            {
                Console.Write(element + ",");
            }

            ReverseArray(Array);
            Console.Write("反转后的元素:");
            foreach (int element in Array)
            {
                Console.Write(element + ",");
            }
            Console.ReadLine();
        }

        private static void ReverseArray(int[] array)
        {
            int temp;
            for (int i = 0; i < array.Length / 2; i++)
            {
                temp = array[array.Length - 1 - i];
                array[array.Length - 1 - i] = array[i];
                array[i] = temp;
            }
        }

3.把一句任意的话,反序输出
        //接收用户输入的一句任意的话,以反序方式输出。
        static void Main(string[] args)
        {
            //让用户输入一句任意的话
            Console.WriteLine("请输入一句英文:");
            string s = Console.ReadLine();
            //调用反转元素方法
            string str = ReverseString(s);
            Console.Write(str);
            Console.ReadKey();
        }

        /// <summary>
        /// 反转元素的方法
        /// </summary>
        /// <param name="s"></param>
        /// <returns></returns>
        public static string ReverseString(string s)
        {
            char[] chars = s.ToCharArray();
            Array.Reverse(chars);
            return new string(chars);
        }

4.接收用户输入的一句英文,将其中的单词以反序输出
        static void Main(string[] args)
        {
            //I am a student反转成student a am I
            string S = "I am a student";
            char[] C = new char[] { ' ' };
            string[] n = S.Split(C);

            ReverseArray(n);
            for (int i = 0; i < n.Length; i++)
            {
                if (i != 0)
                {
                    Console.Write(" ");
                }
                Console.Write(n[i]);
            }
            Console.ReadKey();
        }

        private static void ReverseArray(string[] array)
        {
            string temp;
            for (int i = 0; i < array.Length / 2; i++)
            {
                temp = array[array.Length - 1 - i];
                array[array.Length - 1 - i] = array[i];
                array[i] = temp;
            }
        }

 

 

posted @ 2013-04-16 18:32  微笑的小鸟  阅读(140)  评论(0编辑  收藏  举报