数组中最小的元素

时间:2019-01-23 21:50:05

标签: c

我写了一个小程序来查找数组中最小的元素。即使有更短的方法,我也必须使用类似的格式。我似乎找不到代码有问题。测试如下:-

测试最小:

数组:

您的答案= 2147483647

----通过----

数组:0 -1 5

您的答案= -1

----通过----

数组:-1 0 3 -10 3 100

您的答案= 100

----失败----

数组:0 0

您的答案= 0

----通过----

数组:

您的答案= 2147483647

----通过----

int smallest(int elements[], int size) {
int i;
int temp1 = 0;
int temp2 = elements[0];
if (size <= 0)
{
  return INT_MAX;
}
else
{
for (i = 0; i<size; i++)
{
  if (elements[i] < temp1)
  {
    elements[i-1] = elements[i];
    temp2 = elements[i];
    elements[i] = temp1;
    temp1 = temp2;
  }
  else
    temp1 = elements[i];
}

return temp1;
}
}

1 个答案:

答案 0 :(得分:5)

您需要记住当前的最小值(可以开始等于数组的第一个元素),然后循环遍历数组。如果当前元素小于当前最小值,则更改当前最小值的值。

...    
int min = elements[0];
int i;
for (i = 1; i < size; ++i)
    if (elements[i] < min)
        min = elements[i];
...