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;
            }

        }
    }
}

  • 6
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值