C#简单题目练习-1

题目(C#):

从键盘接收一行用空格分隔的5个整数值,将这5个数保存到一个具有5个元素的一-维数组中,分别输出正序和逆序排序的结果,并输出数组中元素的平均值和最大值,平均值保留小数点后1位。要求当输人非法数值时,提示重新输人;当直接按键时结束循环,退出程序。
using System;

namespace ConsoleApp
{
    class Program
    {
        static void Main(string[] args)
        {
            //变量定义

            int Sum = 0;

            int[] Number = new int[5];

            string input = null;
            do
            {
                //输入
                Console.Write("\n请输入五位整数(以空格分割):");

                input = Console.ReadLine();

                //数据处理

                Number = Data(input);

                if(Number == null)
                {
                    Console.Write("按enter键直接结束循环,按任意键继续循环:");
                    continue;
                }

                Array.Sort(Number);

                Console.Write("顺序输出为:");

                for (int i = 0; i < Number.Length; i++)
                {
                    Console.Write(Number[i]+"\t");
                    Sum += Number[i];
                }

                Console.Write("\n逆序输出为:");

                for (int i = 4; i >= 0; i--)
                {
                    Console.Write(Number[i] + "\t");
                }

                Console.WriteLine("\n和为:" + Sum);
                Console.WriteLine("平均值为:{0:F1}" , (float)Sum/5);
                Console.WriteLine("最大值为:" + Number[4]);

                Console.Write("按enter键直接结束循环,按任意键继续循环:");
            } while (Console.ReadKey(true).Key != ConsoleKey.Enter);

            Console.WriteLine("循环结束");
        }
        static int[] Data(String input)

        {
            bool flag = true;

            string[] inputs = input.Split("".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);

            int[] number = new int[5];

            if(inputs.Length != 5)
            {
                flag = false;
                Console.WriteLine("非法输入");
            }

            for(int i =0; i< inputs.Length; i++)
            {
                try
                {
                    number[i] = int.Parse(inputs[i]);
                }
                catch
                {
                    Console.WriteLine("非法输入");
                    flag = false;
                    break;
                }
            }

            if (flag)
            {
                return number;
            }
            else
            {
                return null;
            }

        }
    }
}

上一篇:2021-10-08 愤怒的小白——————基础篇


下一篇:Tcplistener服务端与tcpclient客户端使用