1. 程式人生 > >【C#】 陣列排序和取值練習

【C#】 陣列排序和取值練習

1.從鍵盤接收一行用逗號分隔的5個整數,儲存至有5個元素的陣列中。

2.分別輸出正序和逆序的結果。

3/輸出陣列最大值和平均值,平均值保留1位小數。

4.存在非法輸入時顯示提示訊息並可重新輸入資料。

5.按下回車鍵退出,任意鍵繼續輸入。

輸出結果如圖所示。


----------------------------------------------------------------

operateArray.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace P466A24.OperateArray
{
    class operateArray
    {
        public void func()
        {
            Console.Write("請輸入用逗號分隔的5個整數:");
            string str = Console.ReadLine();
            str.Trim(' ');

            string[] arr = str.Split(',');

            int[] array = new int[arr.Length];
            try
            {
                for (int i = 0; i < arr.Length; ++i)
                    array[i] = int.Parse(arr[i]);
            }
            catch
            {
                Console.WriteLine("輸入錯誤!");
                return;
            }

            Array.Sort(array);
            Console.Write("正序:");
            for (int i = 0; i < array.Length; ++i)
            {
                if(i == array.Length - 1)
                    Console.WriteLine("{0}", array[i]);
                else
                    Console.Write("{0}" + "、", array[i]);
            }

            Array.Reverse(array);
            Console.Write("逆序:");
            for (int i = 0; i < array.Length; ++i)
            {
                if (i == array.Length - 1)
                    Console.WriteLine("{0}", array[i]);
                else
                    Console.Write("{0}" + "、", array[i]);
            }

            Console.Write("平均值:");
            Console.WriteLine("{0}", array.Average());

            Console.Write("最大值:");
            Console.WriteLine("{0}", array.Max());

        }

    }
}
--------------------

program.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using P466A24.OperateArray;

namespace P466A24
{
    class Program
    {
        static void Main(string[] args)
        {
                new operateArray().func();
                Console.WriteLine("按回車鍵結束,按其他鍵繼續。");

                while (!(Console.ReadKey(true).KeyChar == 13)) //回車鍵13
                {
                    new operateArray().func();
                    Console.WriteLine("按回車鍵結束,按其他鍵繼續。");
                }
                return;
        }
    }
}

ps:

Console.ReadKey(true).KeyChar == 13
Keychar返回接收鍵盤按鍵的unicode編碼,回車鍵Enter為13.

-----------------------------

2016.3.16