I made a program that calculates the average of an array, but I'm getting wrong answers. When I enter 10 9 8 7 6 5 4 3 2 1, the average is 4199211. Are there any errors in my program? Thanks

Code:
#include <stdio.h>
double average (int ary[ ]);
int main (void)
{
    double ave;
    int ary[10];
    int numbers;
    printf("Enter 10 numbers: \n");
    for (numbers = 0; numbers < 10; numbers++)
        scanf("%d", &ary[numbers]);
    ave = average(ary);
    printf("Average : %d\n", average);

    system ("pause");
    return 0;
}

double average (int ary[ ])
{
       int sum = 0;
       int numbers;
       for (numbers = 0; numbers < 10; ++numbers)
           sum += ary[numbers];
       return (sum / 10);
}