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

要求:输入一组数字组成一数组(是自己输入,不是指定的),用foreach语句找出这一数组中的最大值和最小值。
通俗点就是用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());
}}

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-09-10
方法一:使用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<array.length;i++)
{
int a=0;b=0;
a>a[i]?(b=a):(b=a[i]);只要一轮for循环就能得出最大值,同理求出最小值.
}
第2个回答  2009-10-24
先在外面声明两个变量用来存储整个数组的第一个指,假定最大和最小都是第一个

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

每次都用 a和最小变量比较,如果比最小变量小,就用整个a再付给 最小变量
}
第3个回答  2009-10-24
int[] i = { 1, 2, 3, 5 };
int max=i.Max();
int min = i.Min();
3.5语法 一个方法搞定!
第4个回答  2009-10-24
int max=0 ;
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+"");本回答被网友采纳

用C#找出数组中的最大值和最小值
\/\/给数组赋值。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 inpu...

C#输入数组,输出最大值,最小值
Console.WriteLine("最大值为{0},最小值为{1}",max,min);\/\/输出结果:最大值为0,最小值为10 Console.ReadKey();错得一塌糊涂 int[] a = new int[3];Console.WriteLine("请输入第{0}个数字", 1);a[0] = Convert.ToInt32(Console.ReadLine());\/\/先给a[0]赋值 使max和min的初值...

C#求数组的最大值所在下标值?
} Response.Write("最大下标值为:"+index.ToString());--- 输出 最大下标值为:3

怎样在C#中输入十个整数的最大值和最小值。
一、具体思路找出一个数中的最大值或最小值,可以使用循环语句来达到目的。假设要找出一组数中的最大数,可以将第1个数指定为为最大数,并将其保存到一个临时变量中。然后使用循环语句从第2个数开始令其与临时变量中的数作比较,如果后面的数比临时变量的数大,则将其赋值给临时变量,直到循环比较...

c#求出数组中最大值及其下标
int maxIndex=0;for(int i=0;i<arrayLength;i++){ if(array[maxIndex]<array[i]) maxIndex=i;} Console.WriteLine(maxIndex+array[maxIndex]);

c# 输入五个数 分别输出其中的最大值和最小值
s => Convert.ToDecimal(s)); Array.Sort(arr); Console.WriteLine("最大值是:{0},最小值是:{1}",arr[4],arr[0]);}第二种方法:static void Main(){ Console.WriteLine("请输入5个数字,数字之间用空格分隔:"); string input=Console.ReadLine(); string [] arrTem...

C#计算某数组所有元素的最大值、最小值及对应的索引值。要求通过编写函...
System.Console.WriteLine("数组para1的最大值为:{0} 在数组中的索引为:{1}",maxAndMin[0],result1);System.Console.WriteLine("数组para1的最小值为:{0} 在数组中的索引为:{1}", maxAndMin[1], result2);System.Console.ReadKey();} private int GetMaxAndIndex(params int[] pa...

问一个C#编程题:对输入的四个整数,求出其中最大值和最小值。
maxvalue=a[i];4.maxvalue就是要的最大的值了,最小值同理 第二种:在数字很多的时候我会考虑第二种的 1.申请一个数组空间a[4],将这个数依次存入数组里面 2.对数字进行排序操作(很多排序算法,最少你懂冒泡排序吧)3.a[0]就是最小值 a[3]就是最大值了 思想有了,就能脱离语言了 ...

c#编写一个应用程序,找出数组中的最大值。数组为{10,21,79,32,25,83...
int[] arr = { 10, 21, 79, 32, 25, 83, 17 };int tmp = arr[0];foreach (int i in arr){ if (i > tmp)tmp = i;} Response.Write("最大值是:" + tmp.ToString());

用C#编辑程序,接收3个数据,输出其最大值与最小值。请编程高手帮帮忙_百 ...
\/ static void Main(string[] args){ double[] nums = {10, 11, -15, 12.555, 3.1415927 };OutputMaxMin(nums);} \/\/从一组数据中取出最大值与最小值,并输出 public static void OutputMaxMin(double[] nums){ if (nums == null || nums.Length < 1)return;double min = double....

相似回答