黑马程序员技术交流社区

标题: 怎样用方法实现找出int类型数组中的最大和最小值 [打印本页]

作者: 我的专属    时间: 2014-3-17 13:43
标题: 怎样用方法实现找出int类型数组中的最大和最小值
怎样用方法实现找出int类型数组中的最大和最小值

作者: 百川    时间: 2014-3-17 14:04
可以用冒泡排序法。即用两个for循环。内层的for循环里面实现 :if(int[i]>int[i+1])
            {
                int max=int[i];
                int[i]=int[i+1];
                int[i+1]=max;
            }

即交换两个数的大小,这样经历两个for循环之后可以实现从小到大排列。
也可以用if语句。即:
int max=int [0];
for循环
{
if(int[i]>max)
            {max=int[i];}

}
输出max即可。



作者: 夢醒了⊙﹏⊙b心    时间: 2014-3-17 14:13
Array.Sort(你的数组) 取第一位和最后一位
作者: 鬼鬼    时间: 2014-3-17 14:51
如果不改变原数组的话:
  1.         static bool getMinMax(int[] numArray, out int minNum, out int maxNum)
  2.         {
  3.             try
  4.             {
  5.                 minNum = numArray[0];
  6.                 maxNum = numArray[0];
  7.                 for (int i = 1; i < numArray.Length; ++i)
  8.                 {
  9.                     if (numArray[i] < minNum)
  10.                         minNum = numArray[i];
  11.                     else if (numArray[i] > maxNum)
  12.                         maxNum = numArray[i];
  13.                 }
  14.                 return true;
  15.             }
  16.             catch
  17.             {
  18.                 minNum = 0;
  19.                 maxNum = 0;
  20.                 return false;
  21.             }
  22.         }
复制代码

作者: Max_骏    时间: 2014-3-17 15:14
使用Array.Sort 方法,先对数组进行升序排序,然后第一个数为最小数,最后一个数为最大数;
示列:using System;
using System.Collections.Generic;
using System.Text;

namespace 求最大数和最小数
{
    class Program
    {
        static void Main(string[] args)
        {
            int [] arry=new int[] {10,5,84,111,8,79,14,2,245};
            Array.Sort(arry);
            Console.WriteLine("最小数为"+arry[0]+"\n" + "最大数为" + arry[arry.Length - 1]);
            Console.ReadKey();
        }
    }
}
作者: 贰的23次方    时间: 2014-3-17 21:46
static void Main(string[] args)
         {
             int [] arry=new int[] {10,5,84,111,8,79,14,2,245};
             int max=min=arry[0];
             for(int i=0;i<arry.Length;++i)
             {
                   if(arry[i]>max)max=arry[i];
                   if(arry[i]<min)min=arry[i];
             }
             Console.WriteLine("最小数为"+max+"\n" + "最大数为" + min]);
             Console.ReadKey();
         }
作者: 贰的23次方    时间: 2014-3-17 21:50
先令最大最小为数组第一个元素
就是遍历一遍数组(可以从第二个开始,因为第一个是它自己),如果又比最大的大就更新最大值,如果有比最小的小,就更新最小值
这样一遍之后就记住了最大与最小
作者: SunshineGirl    时间: 2014-3-19 09:57
有同学给你回答了,要及时设置成提问结束,这样版主才能给你加分的
作者: shangxin    时间: 2014-3-19 10:25
  static void Main(string[] args)
        {
            int [] arry=new int[] {20,10,84,12,8,98,14,2,245};
            Array.Sort(arry);
            Console.WriteLine("最小数为"+arry[0]+"\n" + "最大数为" + arry[arry.Length - 1]);
            Console.ReadLine();
        }
    }
}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2