一、设计思想
创建一个空字符串,来接受输入的数据,对字符串进行数据处理,方法是以英文逗号为分隔符把字符串分成5个元素,对5个元素进行转化,如果可以转化为整数类型,放入数组,否则报错,利用try-catch进行异常处理,即被分割后的元(字符串类型)如果非整数不能转化为整数类型,会进入catch语句,提示非法输入,提供一个选择,按回车继续进行操作,其他键结束循环。
如果5个数都是合法整数,那么对他们进行遍历求和,等操作。
二、主要源代码
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
{
//分割后的字符转化为int放入数组,经验证,只有字符类型的整数才能转化,其他会报错进入catch语句
number[i] = int.Parse(inputs[i]);
}
//try中出现异常报错(input数组元素不是int类型),进入catch
catch
{
Console.WriteLine("非法输入");
flag = false;
break;
}
}
if (flag)
{
return number;
}
else
{
return null;
}
}
}
}
C#程序设计实验4 数组排序和计算
猜你喜欢
转载自blog.csdn.net/qq_62480054/article/details/131585501
今日推荐
周排行