如何找到数组中的最大数字

时间:2012-06-18 04:45:35

标签: c

我有一个我不知道的大小的数组(大多数是10的大小), 大多数都有1和2,但有时3和4 ... 我不能排序,因为订单是importhan,但除此之外,我可以做任何事情

谢谢:)

5 个答案:

答案 0 :(得分:2)

迭代数组直到你达到休息状态。

在迭代(使用forwhile循环)时,请记住目前为止的最高值并与当前值进行比较。

答案 1 :(得分:2)

我现在无法访问支持此功能的编译器,但这里有一个如何在C ++ 11中执行此操作的简明示例:

#include <iostream>

constexpr int array[10] = { 1, 0, 2, 3, 0, 2, 7, 1, 9, 2 };

template<int maxest, int index>
struct find_biggest_r {
  enum { value = find_biggest_r<(array[index] > maxest ? array[index]:maxest),index-1>::value };
};

template<int maxest>
struct find_biggest_r<maxest,0> {
 enum { value = (array[0] > maxest ? array[0] : maxest) };
};

template<int index>
struct find_biggest {
  enum { value = find_biggest_r<array[index],index-1>::value };
};

int main()
{
    std::cout << find_biggest<9>::value;
}

//

现在我在C中完成了拖钓,你会这样做:

int array[4] = { 2, 1, 0, 2 };
int biggest = array[0];
for (int i = 1; i < 4; i++) { // we've already used array[0] so we start at array[1]
  if (array[i] > biggest) biggest = array[i];
}

答案 2 :(得分:1)

我只会给出伪代码

max := array[0];

for i = 1 to size
    if(array[i] > max)
     {
        max := array[i]
     }

答案 3 :(得分:1)

开始在for循环中遍历数组。 取一个变量,默认情况下将第一个元素放在其中并假设为最高。 当你遍历时,当你发现一个大于变量值的元素时,只需要替换它。 在循环结束时,该值包含最大数字。

答案 4 :(得分:1)

你可以试试这个: -

int max = array[0];    
for (int j = 1 to size)
{
    if(array[j] > max)
     {
        max = array[j];
     }
}