这是一个关于最大值的问题

想要求最值,难道只能通过这种最麻烦的方法来定义吗,有没有可以简化代码的方法?
这个我的代码存在问题,如果有两个相同的数同为最大值,则无输出结果,如果全加上等号,则会有两个输出结果,应该怎样纠正呢?
(编译环境是dev c++, 编译语言为c语言)

img


#include <stdio.h>
int main()
{
    int array[5];
    int iMax = 0;
    for ( int i = 0 ; i < 5; ++i )
    {
        scanf("%d", &array[i]);
        if ( i == 0 )
        {
            iMax = array[i];
        }
        else if( iMax < array[i])
        {
            iMax = array[i];
        }
    }
    printf("最大值为:%d\n", iMax);
    return 0;
}

先用数组把源数据存起来。再定义一个变量存放最值,在循环里面一次比较一个元素再更新最值,循环结束就得到了最值。