C++求平均数和最小值,这个最小值返回了0是什么问题?

 #include<iostream>
using namespace std;

int i = 0;
double score[16];
double sum;
double ave;

int min()//求最小值
{
    double temp = score[0];
    for (int count = 1; count < 16; count++)
    {
        if (score[i] < temp)
        {
            temp = score[i];
        }
    }
    return temp;
}

double average()//求平均值
{
    double sum = 0;
    for (int i=0; i < 16; i++)
    {
        sum += score[i];
    }
    ave = sum / 16;
    return ave;
}

int main()
{

    cout << "请输入第一个学生的4门成绩:" << endl;
    for (i = 0; i < 4; i++)
        cin >> score[i];
    cout << "请输入第二个学生的4门成绩" << endl;
    for (i = 4; i < 8; i++)
        cin >> score[i];
    cout << "请输入第三个学生的4门成绩:" << endl;
    for (i = 8; i < 12; i++)
        cin >> score[i];
    cout << "请输入第四个学生的4门成绩:" << endl;
    for (i = 12; i < 16; i++)
        cin >> score[i];

    cout << "平均分为:" << average() << endl;
    cout << "最低分为:" << min() << endl;
    system("pause");
    return 0;
}

16个成绩求平均和最小值。
事实是平均值已经OK,但是求最小值的函数可能有问题,各位眼尖的帮我瞅瞅哪儿有错,谢过各位!

if (score[i] < temp)
{
temp = score[i];
}
应该是:
if (score[count ] < temp)
{
temp = score[count ];
}

函数的返回类型是int。而你返回的是double