我是新来的。我搜索了现有的问题以找到这个问题的答案,它确实帮助我取得了进步,但我的代码仍在回归' 0' 0而不是数组中最小值的索引中的实际位置。
任何帮助都将不胜感激,谢谢。
#include<iostream>
using namespace std;
int smallestIndex(int arr[], int size);
int main()
{
int arr[6] = {500, 29, 36, 4, 587, 624};
cout << "Index position for smallest element in array: "
<< smallestIndex(arr, 6) << endl;
return 0;
}
int smallestIndex(int arr[], int size)
{
int temp;
int n = arr[0];
for (int i = 0; i > size; i++)
{
if (arr[i] < n)
n = arr[i];
temp = i;
}
return temp;
}
答案 0 :(得分:1)
i > size
错误。它应该是i < size
。temp
。将其写为int temp = 0;
,因为n
的初始值是数组的第0个元素。temp
的值将会出错。固定代码:
int smallestIndex(int arr[], int size)
{
int temp = 0;
int n = arr[0];
for (int i = 0; i < size; i++)
{
if (arr[i] < n)
{
n = arr[i];
temp = i;
}
}
return temp;
}