黑马程序员技术交流社区

标题: 数组最大值的下标怎么取。 [打印本页]

作者: 邓艳秋    时间: 2012-10-7 01:28
标题: 数组最大值的下标怎么取。
我用的num.Max()的方法来取得num数组所有元素的最大值,我想知道这个最大值的下标怎么取得,越详细越好。
作者: 雷向阳    时间: 2012-10-7 08:17
可以参考一下以下代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace erweishuzu
{
    class Program
    {
        static void Main(string[] args)
        {
            int t1=0, t2=0;
            int[,] a = new int[2, 3] {{ 3, 4, 5},{7, 8, 9 } };
            for (int i = 0; i < 2; i++)
            {
                int max = a[i, 0];
                for (int j = 0; j < 3; j++)
                    if (a[i, j] > max)
                    {
                        max = a[i, j];
                        t1 = i;
                        t2 = j;
                        
                    }
                Console.WriteLine("请输入这几行的最大值和下标:{0},{1},{2}", max,t1,t2);
                Console.ReadLine();
               
            }


        }
    }
}

作者: 神马王刚    时间: 2012-10-7 08:39

  1.             int[] nums = { 6, 10, -12, 0, -23, 10 };//声明一个整型数组,并赋值初始化
  2.             int max = nums.Max();//利用数组方法求得最大值
  3.             for (int i = 0; i < nums.Length; i++)//遍历数组
  4.             {
  5.                 if (nums[i] == max)//若有元素的值与最大值相同,则返回此元素的下标,一个数组可以有相同的几个最大元素
  6.                 //因此输出的下标数会大于或等于1个
  7.                 {
  8.                     Console.WriteLine(i);
  9.                 }
  10.             }
  11.             Console.ReadKey();
复制代码
无图无真相,上图解说.

作者: 潘梦军    时间: 2012-10-7 09:22
int[] nums = { 2, 3, 4, 5 };   
            int max = nums.Max();           
            for (int i = 0; i < nums.Length; i++)   
            {
                if (nums[i] == max)     
                {
                    Console.WriteLine(i);
                }
            }
            //---------------------方法二-----------------------
            int index = 0;
            max=nums[0];
            for (int i = 0; i < nums.Length; i++)
            {
                if (nums[i] > max)
                {
                    index = i;
                    max = nums[i];
                }
            }
            Console.WriteLine(max);
            Console.WriteLine(index);
用num.Max()就用前面的,不过可以试一下方法二的进行取值




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