用C#找出数组中的最大值和最小值 20
通俗点就是用foreach语句遍历数组找出最大数和最小数。
ps:前提是数组是要自己输入,并不是定义时就指定的! 展开
1、以C#控制台应用程序为例:
int[] input = { 0,0,0,0};
Console.Write("输入4个整数,之间以逗号分隔。回车键结束输入...\r\n");
string str = Console.ReadLine(); //读入一行用户输入信
string[] nums = str.Split(new char[] { ',' }); //以逗号为分隔符,分离出各项
if (nums.Count() == 4) //不是四项,说明输入值错误。
{
try
{
//给数组赋值。int.Parse出异常,说明用户输入非整数。
for(int i=0; i< 4; i++) //将用户输入值转整型数存入数组。
input[i] = int.Parse(nums[i]); //给数组赋值。int.Parse出异常,说明用户输入非整数。
int maxNum = input[0]; //最大数变量初始化
foreach (int item in input) //遍历input数组
if (item > maxNum) //取最大数
maxNum = item;
Console.WriteLine("用户输入的最大值:"+ maxNum.ToString());
}
catch
{
Console.WriteLine("输入的数据不符合条件!\r\n");
}
}
else
Console.WriteLine("输入的数据不符合条件!\r\n");
Console.WriteLine("按回车键退出程序...");
Console.ReadLine(); //防止程序结束退出,用户看不到执行结果。
2、运行结果如下:
注:代码中的Console.ReadLine(); 都是以回车键结束。
扩展资料:
C#遍历数组
// 一维数组
int[] arr = { 1, 2, 3, 4, 5 };
foreach (int i in arr)
{ Console.WriteLine(i.ToString() + "\r"); }
// 二维数组
int[,] arr2 = { { 1, 2 }, { 3, 4 } };
foreach (int i in arr2)
{ Console.WriteLine(i.ToString()); }
// 交错数组
int[][] CrossArray = new int[3][] { new int[] { 1, 2 }, new int[] { 3, 4, 5},new int[] { 6,7,8,9} };
foreach (int[] arr in CrossArray) {
foreach (int i in arr) {
Console.WriteLine(i.ToString());
}}
using System.Collections;
int[] arr = {2,4,5,6,6,55,66,89,105,669,569 };
ArrayList list = new ArrayList(arr);
list.Sort();
int min = Convert.ToInt32(list[0]);
int max = Convert.ToInt32(list[list.Count - 1]);
Console.WriteLine("最大" + max +" 最小:"+min);
方法二:用?:语句比较简单
for(int i=0;i<array.length;i++)
{
int a=0;b=0;
a>a[i]?(b=a):(b=a[i]);只要一轮for循环就能得出最大值,同理求出最小值.
}
foreach(int a 变量)
{
每次都用 a和 最大变量 比较,如果比最大变量大,就用这个 a再付给 最大变量
每次都用 a和最小变量比较,如果比最小变量小,就用整个a再付给 最小变量
}
int max=i.Max();
int min = i.Min();
3.5语法 一个方法搞定!
int min=0;
int midd=0;
foreach(int a in arr)
{
if(a>=max)
max=a;
if(a<min)
min=a;
}
Console.Write(max+","+min+"");