编写控制台应用程序实现下列功能。
从键盘接收一行用空格分隔的5个整数值,将找个5个数保存到1个具有5个元素的一维数组中,分别输出正序和逆序排序的结果,并输出数组中元素的平均值和最大值,平均值保留小数点后1位。
要求当输入非法数值时,提示重新输入;当直接按<Enter>键时结束循环,退出程序。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp2
{
class program
{
static void Main(String[] args)
{
while (true)//输入错误continue跳过继续循环
{
Console.WriteLine("请输入用空格分隔的5个整数值:");
string str = Console.ReadLine();
string[] Array1 = str.Split(' ');//输入内容去空格变成数组
if (Array1.Length != 5)//判断输入数
{
Console.WriteLine("输入数字个数不对,请重新输入...");
continue;
}
int[] Array2 = new int[Array1.Length];
bool d = true;
for (int i = 0; i < Array1.Length; i++)
{
int c;
if (!int.TryParse(Array1[i], out c))//判断输入是否整数
{
d = false;
break;
}
else
{
Array2[i] = c;
}
}
if (d == false)//输入错误跳出循环
{
Console.WriteLine("输入数字违法,请重新输入...");
continue;
}
Array.Sort(Array2);
Console.WriteLine("正序:");
Console.WriteLine(String.Join(" ", Array2));
Console.WriteLine("逆序:");
Array.Reverse(Array2);
Console.WriteLine(String.Join(" ", Array2));
Console.WriteLine("平均值:");
Console.WriteLine(Array2.Average().ToString("0.0"));
Console.WriteLine("最大值:");
Console.WriteLine(Array2.Max());
Console.WriteLine("按回车键退出,其他键继续");
if (Console.ReadKey(true).Key == ConsoleKey.Enter)
return;
}
}
}
}