c#中假设10个整数用一个一维数组存放 求其最大值和次大值

如题所述

Console.WriteLine("请输入数组长度:");

            int len = int.Parse(Console.ReadLine());

            Console.WriteLine("请输入{0}个值", len);

            //定义一个数组

       int[] array = new int[len];

            //给数据添加值

       for (int i = 0; i < len; i++)

            {

                array[i] = Convert.ToInt32(Console.ReadLine());

            }

            //升序

            for (int m = 0; m < array.Length; m++)

            {

                for (int n = array.Length - 1; n > m; n--)

                {

                    if (array[n] < array[n - 1])

                    {

                        int temp = 0;

                        temp = array[n];

                        array[n] = array[n - 1];

                        array[n - 1] = temp;

                    }

                }

            }

            Console.WriteLine("升序排序输出:");

            foreach (var key in array)

            {

                Console.WriteLine(key);

            }

           

            Console.WriteLine("最大值是:{0}",array[array.Length - 1]);

            Console.WriteLine("次大值是:{0}",array[array.Length - 2]);

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-03-19
int[] num = new int[10]{1,2,3,4,5,6,7,8,9,10};
int temp;
for (int i = 0; i < 10-1; i++)
{
for (int j = 0; j < 10 - 1 - i; j++)
{
if (num[j] > num[j + 1])
{
temp=num[j];
num[j ] = num[j+1];
num[j+1] = temp;
}
}

}
上面已经按从小到大的顺序排好了
Console.WriteLine("最大值"+num[9]);
Console.WriteLine("次大值"+num[8]);

Console.ReadKey();
第2个回答  2012-03-14
用array,然后sort,取前两个追问

还有其他方法吗?

追答

其他方法,那就是要排序了,冒泡法。。。

本回答被网友采纳
第3个回答  2012-03-16
LINQ
相似回答