ayuda con dev c++ no encuentro el error

Galois
02 de Octubre del 2011
bueno, estoy recién aprendiendo a programar y estoy intentando hacer un programa en dev c++ q calcule el promedio de N números ingresados por teclado
el rpoblema es q lo he hecho de 2 formas y no me funca

la primera es con while :

#include
int main(){
int n,s=0,i=0;
float p;
printf("ingrese numeros para obtener un promedio n");
while(n!=0){
scanf("%d",&n);
s=s+n;
i++;
}
p = (s /i);
printf("el promedio es %f",p);
getchar();
getchar();
return 0;
}


y la segunda con do while:

#include
int main(){
int n,s=0,i=0;
float p;

do{
printf("ingrese numeros para obtener un promedio n");
scanf("%d",&n);
s=s+n;
i++;
}
while(n!=0)
p = (s /i);
printf("el promedio es %f",p);
getchar();
getchar();
return 0;
}

por favor me seria de gran ayuda decirme porq no funcionan