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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 邓艳秋 中级黑马   /  2012-10-7 01:28  /  2800 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

我用的num.Max()的方法来取得num数组所有元素的最大值,我想知道这个最大值的下标怎么取得,越详细越好。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

3 个回复

倒序浏览
可以参考一下以下代码
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();
               
            }


        }
    }
}

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报

  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();
复制代码
无图无真相,上图解说.

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
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()就用前面的,不过可以试一下方法二的进行取值

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马