【C#】 陣列排序和取值練習
阿新 • • 發佈:2019-02-18
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