指针传参求平均值出错

问题遇到的现象和发生背景

用指针传参求平均数 平均数输出错误

问题相关代码,请勿粘贴截图
#include<stdio.h>
double aaa(int *,double *,int ,double *);
int main()
{
    int a[100],i;
    double av1;//平均值变量
    double sum;//和
    int n;//表示有n组测试数据
    scanf("%d",&n);
    for(i = 0;i < n;i++)
    {
        scanf("%d",&a[i]);//输入测试数据
    }

    aaa(&a[i],&av1,i,&sum);
    //printf("%.4lf",av1);
    return 0;
 }


double aaa(int a[],double *a1,int n,double *total)
{
    *total = 0;
    int i;
    for(i = 0;i < n;i++)
    {
        *total += a[i]; //求和
    }
    *a1 = *total/n; //平均值
    printf("%.4lf\n",*a1);
    return *a1;
}

运行结果及报错内容

6 99 92 96 98 98 96
428103370.8333

我的解答思路和尝试过的方法
我想要达到的结果

96.5000