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);
}