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]);
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();
还有其他方法吗?
其他方法,那就是要排序了,冒泡法。。。