ayuda con sumatoria y promedio de factoriales

celio

Bovino maduro
#1
Dado el siguiente enunciado:

Leer un numero entero y calcular el promedio entero de los factoriales de los enteros comprendidos entre 1 y el numero dado
(Enunciado problema propuesto numero 46 del libro la esencia de la logica de programacion de Omar Trejos Buritica)


Esto fue lo que hice

Código:
#include <stdio.h>
#include <conio.h>

main()
{
  int contador,contador1,numero,acumulador,suma,promedio,i;
  printf("De que quiere el factorial");
  scanf("%d",&numero);
  contador=numero;
  acumulador=1;
  while(contador >=1){
        contador1=1;
        i=1;
        suma=0;
        while(contador1 <= contador){
              acumulador=acumulador*contador1;
              contador1=contador1+1;        
        }
        
        contador=contador-1;
        suma=suma+acumulador;
        i=i+1;
        
                  
          
  }
        
        
        //suma=suma+acumulador;
        promedio=suma/i;
        
        printf("la suma es%d",suma); 
        printf("la promedio es %d",promedio);  
        getch();
     
}

Sucede que si le digo factorial de tres me arroja otro resultado deberia arrojarme suma 9 y promedio 3
no me arroja el resultado esperado

Muchas gracias
 
Arriba