用C#找出数组中的最大值和最小值

2025-02-22 22:26:30
推荐回答(5个)
回答1:

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

回答2:

方法一:使用ArrayList
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{
int a=0;b=0;
a>a[i]?(b=a):(b=a[i]);只要一轮for循环就能得出最大值,同理求出最小值.
}

回答3:

先在外面声明两个变量用来存储整个数组的第一个指,假定最大和最小都是第一个

foreach(int a 变量)
{
每次都用 a和 最大变量 比较,如果比最大变量大,就用这个 a再付给 最大变量

每次都用 a和最小变量比较,如果比最小变量小,就用整个a再付给 最小变量
}

回答4:

int[] i = { 1, 2, 3, 5 };
int max=i.Max();
int min = i.Min();
3.5语法 一个方法搞定!

回答5:

int max=0 ;
int min=0;
int midd=0;
foreach(int a in arr)
{
if(a>=max)
max=a;
if(a min=a;
}
Console.Write(max+","+min+"");