Навскидку так: http://pastebin.com/0Z6FpY7J
Вызываешь эту функцию как
double result = RecursiveAverage(arr, 0, 0);
где arr - предварительно заполненный массив, iteration - номер текущего суммируемого элемента, sum - текущая сумма.
Суть работы метода: если текущее значение iteration - больше длины массива, значит мы перебрали все его элементы, поэтому в аргументе sum у нас сумма всех элементов массива. Следовательно, просто возвращаем частное суммы и количества элементов массива - это и будет среднее арифметическое, делаем выход из рекурсии. В противном случае мы прибавляем к sum элемент массива с индексом iteration и рекурсивно вызываем наш метод, передавая ему тот же массив, увеличенное на единицу значение iteration и новое значение sum.