A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

怎样用方法实现找出int类型数组中的最大和最小值

8 个回复

倒序浏览
可以用冒泡排序法。即用两个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即可。


评分

参与人数 1技术分 +1 收起 理由
czwanglei + 1

查看全部评分

回复 使用道具 举报
Array.Sort(你的数组) 取第一位和最后一位
回复 使用道具 举报
如果不改变原数组的话:
  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.         }
复制代码

评分

参与人数 1技术分 +1 收起 理由
czwanglei + 1

查看全部评分

回复 使用道具 举报
使用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();
        }
    }
}

评分

参与人数 1技术分 +1 收起 理由
czwanglei + 1

查看全部评分

回复 使用道具 举报
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();
         }
回复 使用道具 举报
先令最大最小为数组第一个元素
就是遍历一遍数组(可以从第二个开始,因为第一个是它自己),如果又比最大的大就更新最大值,如果有比最小的小,就更新最小值
这样一遍之后就记住了最大与最小
回复 使用道具 举报
有同学给你回答了,要及时设置成提问结束,这样版主才能给你加分的
回复 使用道具 举报
  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();
        }
    }
}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马