tengo duda si la funcion avarage esta bien hecha recursivamente,
tome como caso base cuando la lista tiene un elemento.
float average (Listaint L){
int sum;
int div;
if (L->sig->sig == NULL){
sum=L->;
div++;
return (sum/div);}
else{
sum=L->elem;
div++;
avarage(L->sig);}
}