unity游戲開發-C#語言基礎篇(數組排序和倒序)

class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("第一題");
            int[] arrA = { 1, 3, 4, 5, 6 };
            string[] arrB = { "7", "8", "9" };
            int[] arrC = new int[arrA.Length + arrB.Length];

            for (int i = 0; i < arrA.Length + arrB.Length; i++)
            {

                if (i < arrA.Length)
                {
                    arrC[i] = arrA[i];
                }
                else
                {
                    arrC[i] = Convert.ToInt32(arrB[i - arrA.Length]);
                }
                // Console.Write(arrC[i]);

            }

            foreach (int arrC1 in arrC)
            {
                Console.WriteLine(arrC1);
            }



            Console.WriteLine("\n\n第二題");

            int[] arrD = new int[19];
            int j = 0;
            for (int i = 0; i < arrD.Length; i++)
            {
                if (i % 2 == 0 && j < arrC.Length)
                {
                    arrD[i] = arrC[arrC.Length - 1 - j];
                    j++;
                }
            }

            foreach (int arrD1 in arrD)
            {
                Console.Write(arrD1 + " ");
            }

            //練
            //-------第一題----------------數組相加
            int[] arrA = { 1, 3, 4, 5, 6 };
            string[] arrB = { "7", "8", "9" };


            int[] arrC = new int[arrA.Length + arrB.Length];//降低藕合性;
            for (int i = 0; i < arrC.Length; i++)
            {
                if (i < arrA.Length)//判斷下標小于A數組,直接賦值
                {
                    arrC[i] = arrA[i];
                }
                else
                {//判斷下標超過A數組后,強轉成整型;注意數組B的下標,要從0開始;
                    arrC[i] = Convert.ToInt32(arrB[i - arrA.Length]);
                }
                // Console.Write(arrC[i]+" ");

            }

            foreach (int arrC1 in arrC)
            {
                Console.Write(arrC1 + " ");
            }
            Console.Write("\n\n");


            //-------第二題----------------偶數位倒序

            int[] arrD = new int[19];//固定數組D的長度;
            int index = arrC.Length - 1;//定義數組C的長度賦值;
            for (int i = 0; i < arrD.Length; i++)
            {
                if (i % 2 == 0 && index >= 0)
                {//判斷偶數位;注意下標不能取到負數;
                    arrD[i] = arrC[index];//倒序下標
                    index--;//下標迭代遞減;注意不能小于0;否則溢出;
                }
            }
            foreach (int arrD1 in arrD)
            {
                Console.Write(arrD1 + " ");
            }



            //----------二維數組-----------
            //練1
            int[,] arr = new int[3, 4] { { 0, 1, 2, 4 }, { 5, 6, 7, 8 }, { 9, 10, 11, 12 } };
            for (int i = 0; i < 3; i++)
            {
                for (int j = 0; j < 4; j++)
                {
                    Console.WriteLine("arr[{0},{1}]={2}", i, j, arr[i, j]);
                }
                Console.WriteLine("\n");
            }

            //練2
            int[,] arr = new int[2, 2] { { 1, 2 }, { 3, 4 } };
            for (int i = 0; i < 2; i++)
            {
                for (int j = 0; j < 2; j++)
                {
                    Console.WriteLine(arr[i, j]);
                }
            }

            //練習
            //第一題 最大排前面 最小排后面

            int[] Arr = new int[10];
            // int shuru =Convert.ToInt32( Console.ReadLine());
            Console.WriteLine("請輸入十個數,從小排到大 ");
            for (int i = 0; i < Arr.Length; i++)
            {
                Arr[i] = Convert.ToInt32(Console.ReadLine());
            }
            int arrMax = Arr[0];
            int arrMin = Arr[0];
            for (int i = 0; i < Arr.Length; i++)
            {
                if (arrMax < Arr[i])
                {
                    arrMax = Arr[i];
                }
                if (arrMin > Arr[i])
                {
                    arrMin = Arr[i];
                }
            }
            //int[] arrF=new int[Arr.Length];
            for (int i = 0; i < Arr.Length; i++)
            {
                if (Arr[i] == arrMax)
                {
                    int indexMax = i;
                    int temp = Arr[0];
                    Arr[0] = Arr[indexMax];
                    Arr[indexMax] = temp;
                }
                if (Arr[i] == arrMin)
                {
                    int indexMin = i;
                    int temp1 = Arr[Arr.Length - 1];
                    Arr[Arr.Length - 1] = Arr[indexMin];
                    Arr[indexMin] = temp1;
                }
            }

            Console.Write("\n最大最小 ");
            foreach (int Arr1 in Arr)
            {
                Console.Write(Arr1 + " ");
            }






            //倒序
            for (int i = 0; i < Arr.Length; i++)
            {
                for (int j = i; j < Arr.Length; j++)
                {
                    if (Arr[i] > Arr[j])
                    {
                        int temp = Arr[i];
                        Arr[i] = Arr[j];
                        Arr[j] = temp;
                    }
                }
            }


            Console.Write("\n排序后 ");
            foreach (int Arr2 in Arr)
            {
                Console.Write(Arr2 + " ");
            }


            Console.ReadKey();
        
        }
    }
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容