用C#编写,定义一个元素个数不确定的数组,对数组进行排序,并求数组中的最大值和最小值。求助

如题所述

private void button2_Click(object sender, EventArgs e)
{
// 动态数组用 arraylist 及它自己的方法实现排序
ArrayList arr = new ArrayList();
arr.Add(100);
arr.Add(20);
arr.Add(60);
arr.Add(40);
arr.Add(90);
arr.Add(77);
arr.Add(11);
arr.Sort();
label1.Text = "";
foreach (var y in arr)
{
label1.Text += y.ToString() + ",";
}
label1.Text += "min is " + arr[0].ToString();
label1.Text += "max is " + arr[arr.Count - 1].ToString();
//静态数组,用Lambda表达式+Linq实现排序
int[] arr2 = new int[7];
arr2[0] = 100;
arr2[1] = 20;
arr2[2] = 60;
arr2[3] = 40;
arr2[4] = 90;
arr2[5] = 77;
arr2[6] = 11;
var od = from w in arr2 orderby w select w;
label2.Text = "";
foreach (int x in od)
{
label2.Text += x.ToString() + ",";
}
label2.Text +="min is "+ od.First().ToString();
label2.Text +="max is "+ od.Last().ToString();
}
两种方法都可以实现,你自己试试吧
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-09-16
#include<stdio.h>
int main()
{
int a[7]=,k[10];
int m,i,j=0,h=0;
scanf("%d",&m);
for(i=0;i<7;i++)
{
if(a[i]<=m&&a[i+1]>=m&&h==0)
else k[j++]=a[i];
}
for(i=0;i<j;i++)
printf("%d ",k[i]);
return 0;
}
如果原顺序是从大到小,或是有小到大不确定呢????有应怎么编写呢????
如果是考试,OR 测试题,出现这种情况的机率为0,因为它会给出一个已知数组来判断是按升还是降来排序!
如int a[7]=,本程序是按升排序!
第2个回答  2011-09-16
用封装好的List<T>,ArrayList就可以。代码自己研究下,有好处

用C#找出数组中的最大值和最小值
1、以C#控制台应用程序为例:int[] input = { 0,0,0,0};Console.Write("输入4个整数,之间以逗号分隔。回车键结束输入...\\r\\n");string str = Console.ReadLine(); \/\/读入一行用户输入信 string[] nums = str.Split(new char[] { ',' }); \/\/以逗号为分隔符,分离出各项 if (nu...

C#计算某数组所有元素的最大值、最小值及对应的索引值。要求通过编写函...
static int[] maxAndMin = new int[2];\/\/定义一个大小为2的数组来存最大值和最小值,0为最大值,1为最小值 static void Main(string[] args){ Program p = new Program();int[] para1 = {31,22,13,4,50 };int result1 = p.GetMaxAndIndex(para1);int result2 = p.GetMinAn...

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#语言将数组元素排序并输出?
public static void Sort(int[] array){ int[] arr=new int[]{45,12,44,4,5};for(int j=1;j<arr.Length;j++){\/\/外循环每次把参与排序的最大数排在最后 for(int i=0;i<arr.Length-j;i++){ \/\/内层循环负责对比相邻的两个数,并把最大的排在后面 if(arr[i]>arr[i+1]){ ...

如何用c#编写一个程序计算数组中每个数的和。
include<stdio.h> int main(){ int a[10],sum,i;for(i=0;i<10;i++){ scanf("%d",&a[i]);sum+=a[i];} printf("这10个数的和为%d",sum);return 0;}

C语言如何编写在数组中找最大值的函数(C primer plus 10-3)
} } return max; \/\/ 返回找到的最大值 } 在这个函数中,我们首先将数组的第一个元素设为最大值,然后从数组的第二个元素开始,逐一比较每个元素与当前的最大值。如果发现元素比当前最大值大,就更新最大值。遍历完整个数组后,返回最终找到的最大值。为了验证这个函数的正确性,我们可以编写一个...

如何用c#实现数组排序
1、首先,定义一个结构体,包含数值、排名和序号。2、定义一个结构体数组变量d,保存所有的整数信息。3、接着,定义一个自定义函数,比较整数序列中,任意两个整数的大小。4、定义一个自定义函数,比较整数序列中,任意两个数的序号大小。5、主函数中,先定义两个整数,保存整数个数和排名计数。6、...

C# 数组中求几个最大的数
int[] a=new int[]{10,32,43,12,5,36,28,45,72,49};\/\/定义一个整型数组 Array.Sort(a); \/\/对数据进行排序,默认为升序 int i=a.Length;for (; i > a.Length - 3;i-- )\/\/使用for循环输出数组最后三位,从大到小 { Console.WriteLine(a[i-1]);\/\/此处容易引发数组索引越界...

C#中array定义元素个数不确定的数组怎么写
使用 ArrayList,或者List类

如何用C#语言编写从三个数中找出最大数的程序?
你可以参考,arraylist.sort 排序 [ReliabilityContract(Consistency.MayCorruptInstance, Cer.MayFail)]public static void Sort(Array keys, Array items, int index, int length, IComparer comparer){ if (keys == null){ throw new ArgumentNullException("keys");} if ((keys.Rank != 1) || ...

相似回答