(1)实验目的
通过该实验,让学生掌握数组的使用方法。
(2)实验内容
编写控制台应用程序实现下列功能。
从键盘接收一行用空格分隔的5个整数值,将找个5个数保存到1个具有5个元素的一维数组中,分别输出正序和逆序排序的结果,并输出数组中元素的平均值和最大值,平均值保留小数点后1位。
要求当输入非法数值时,提示重新输入;当直接按<Enter>键时结束循环,退出程序。
(3)参考界面
运行效果如图1所示。
图1 数组排序和计算
- 验收/测试用例
输入12,25,33,2,7
输出升序2,7,12,25,33。逆序7,2,33,25,12。
最大值33,平均值15.8。
using System;
namespace shiyanbaogao4
{
class program
{
static void Main(String[] args)
{
while(true)
{
Console.WriteLine("请输入用空格分隔的5个整数值:");
string s = Console.ReadLine();
string[] Array1 = s.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;
}
}
}
}
验收测试
输入12 25 33 2 7
运行结果如下
数字个数不为5个报错:
数字不合法报错: