我正在尝试编写一个函数,该函数将返回数组的最小值。到目前为止,我有这个,但是它返回的都是0。
我看不到它将如何返回0,因为我正在使用for循环在数组中循环。也许不是像我认为的那样循环遍历数组值。谁能详细说明这段代码的逻辑和谬误?
#include <iostream>
using namespace std;
int newArray[9] = {4,5,9,3,6,2,1,7,8};
int minArray()
{
int index = 1;
int minimum;
for (int i = 0; i < 9; i++)
{
if (newArray[i] > newArray[index])
{
minimum = newArray[index];
}
index++;
}
return minimum;
}
int main()
{
cout << "original array:\n ";
for (int i = 0; i < 9; i++)
{
cout << newArray[i] << ", ";
}
cout << "minimum value of array: ";
cout << minArray();
return 0;
}
最佳答案
一个好主意可能是使用数组中的元素初始化最小值。
所以:
minimum = newArray[0]
在循环中(假设您不想要答案的伪代码):
if: newArray[pos] < minimum
minimum = newArray[pos];
关于c++ - 数组的最小值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14924470/