在C中查找数组中的最大值索引

时间:2011-06-14 13:25:46

标签: c

我想在C中找到数组中的最大值索引。

我写这个代码示例:

maks=0;
for(i=0;i< N * N;i++) {
    if(array[i]>maks) {
        maks=(int) array[i];
        k=i;
    }
}

但这不能正常工作。你能告诉我另一个例子吗?

最诚挚的问候......

2 个答案:

答案 0 :(得分:7)

k = 0;
max = array[k];

for (i = 0; i < N * N; ++i)
{
    if (array[i] > max)
    {
        max = (int)array[i];
        k = i;
    }
}

应该工作!

答案 1 :(得分:0)

下面的函数接受指向数组的指针,该数组的大小为数组,并返回最大索引。

  int max_index(float *a, int n)
    {
        if(n <= 0) return -1;
        int i, max_i = 0;
        float max = a[0];
        for(i = 1; i < n; ++i){
            if(a[i] > max){
                max = a[i];
                max_i = i;
            }
        }
        return max_i;
    }

用法示例,

float a[3] ={1.2,3.2,4.0};
cout<<max_index(a,3)<<endl; //will output 2, because a[2] element is the max