Cita de: xaps en 5 Diciembre 2013, 19:32 PM
Este código no funcionaria, puesto que inicializas n=0 y la condición para entrar al cuerpo del bucle es que n!=0. En vez de inicializarla en 0, hay que leer el primer valor antes de entrar en el bucle.
Saludos
El problema no es n=0 ya que es la variable suma - manía de no llamar a las cosas por su nombre.- sino que la variable aux - que no auxiliar, otro error- debe iniciarla con cualquier valor distinto de cero, así como tampoco está inicializada la variable c.Amén de declarar n como float si lo que se requiere es en verdad el promedio, vamos con sus decimales y todo.
Y lo dejo cuasi como estaba, aunque no me gusta ni pizca:
Código (cpp) [Seleccionar]
#include <stdio.h>
int main()
{
//programa que recibe numeros hasta esribir 0 y les hace un promedio
int aux=1, c=-1; //aux numeros, c contador
float n=0; // variable para acumular lo que escribe el usuario, osea la suma
while (aux != 0)
{
printf("Dame el valor, 0 para acabar: ");
scanf("%d", &aux);
c++;
n += aux; // es como escribir n = n + aux;
}
n = n/c; // promediamos y sacamos el resultado en pantalla
printf("El promedio es: %g", n);
getchar(); // para no llamar system(PAUSE) que es un adefesio interrumpir el sistema totalmente ...
//sobra en general ....a no ser que uses DevC++ ....
return 0;
}
Saluditos! .....