用C#编写一个程序,输入一个数组,然后排序,

2024-11-20 16:39:58
推荐回答(1个)
回答1:

        static void Main(string[] args)
        {
            Console.Write("请输入一组整数,用逗号分隔:");
            var inputStr = Console.ReadLine();
            var inputStrArray = inputStr.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
            var inputIntArray = new int[inputStrArray.Length];
            for (var i = 0; i < inputStrArray.Length; i++)
            {
                inputIntArray[i] = int.Parse(inputStrArray[i]);
            }
            var oddIntArray = inputIntArray.Where(i => i%2 != 0).ToArray();
            var evenIntArray = inputIntArray.Where(i => i%2 == 0).ToArray();
            oddIntArray = oddIntArray.OrderBy(i => i).ToArray();
            evenIntArray = evenIntArray.OrderBy(i => i).ToArray();
            inputIntArray = oddIntArray.Concat(evenIntArray).ToArray();
            for (int i = 0; i < inputIntArray.Length - 1; i++)
            {
                Console.Write("{0},", inputIntArray[i]);
            }
            Console.WriteLine(inputIntArray[inputIntArray.Length - 1]);
            Console.ReadLine();
        }