自定义函数计算平均成绩,统计不及格学生的人数

题目为
输入一个正整数n,再输入n个学生的成绩,自定义ave(int a[],int n)函数计算平均成绩,并统计不及格学生的人数。
输入5
5个数为78 90 56 64 45
输出样例:
Grade average =66.60
Number of failures =2
代码为

img


想问一下为什么输出的第二个数据输出错了

修改如下,供参考:

#include <stdio.h>
double ave(int a[], int n);//函数声明
int main()
{
    int count=0,i,n,a[5];
    double grade=0,total=0;
    scanf("%d", &n); //输入 n
    for(i=0;i<n;i++)
        scanf("%d", &a[i]);//输入 n 个数
    total = ave(a,n); //调用函数求平均值
    for(i=0;i<n;i++)
        if(a[i] < 60)
           count++;  //统计不及格学生人数
    printf("Grade average = %.2f\n",total);
    printf("Number of failures = %d\n",count);
    system("pause");
    return 0;
}
double ave(int a[], int n)//函数实现
{
    int i;
    double sum=0;
    for(i=0;i<n;i++)
        sum += a[i]; //求成绩和
    sum = sum / n; //得平均成绩
    return sum;    //将平均值返回主函数
}

img

grade 初始为0后就没变了,始终小于60