我想在C中找到数组中的最大值索引。
我写这个代码示例:
maks=0;
for(i=0;i< N * N;i++) {
if(array[i]>maks) {
maks=(int) array[i];
k=i;
}
}
但这不能正常工作。你能告诉我另一个例子吗?
最诚挚的问候......
答案 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