Foros del Web » Programación para mayores de 30 ;) » C/C++ »

[SOLUCIONADO] sumar cada numero de un numero de x cifras

Estas en el tema de sumar cada numero de un numero de x cifras en el foro de C/C++ en Foros del Web. buenas, tal y como dice el titulo necesito sumar cada cifra de un numero de x cifras entero , es decir: si entro el numero ...
  #1 (permalink)  
Antiguo 08/04/2013, 10:38
 
Fecha de Ingreso: abril-2013
Mensajes: 2
Antigüedad: 11 años, 8 meses
Puntos: 0
sumar cada numero de un numero de x cifras

buenas, tal y como dice el titulo necesito sumar cada cifra de un numero de x cifras entero , es decir: si entro el numero 123 me debe sumar 1+2+3.

aqui dejo mi parte del programa que obviamente no funciona ya qe como resultado al sumar 1+2+3 me da 150.


int main(int argc, char** argv) {

int i=0, suma=0;
while (i<3) //supongamos que el numero es de 3 cifras.
{
suma=suma+getchar();
i++;
}
printf("la suma es: %d",suma);
}

gracias!! necesitaria ayuda en mi programa o si alguien tiene una alternativa mejor...
  #2 (permalink)  
Antiguo 08/04/2013, 11:38
 
Fecha de Ingreso: diciembre-2011
Ubicación: Crespo - Entre Rios
Mensajes: 155
Antigüedad: 13 años
Puntos: 25
Respuesta: sumar cada numero de un numero de x cifras

te da 150 porque es el resultado de la suma de los valores que tienen 1, 2 y 3 en la tabla ascii. getchar() te devuelve un entero, pero te esta devolviendo el valor de la tabla ascii del caracter que se ingresa...... si queres obtener el valor del numero ingresado, deberias restarle 48 a cada ingreso que se hace. 48 es el valor de 0 en la tabla.

Código C:
Ver original
  1. int main(int argc, char** argv) {
  2.  
  3. int i=0, suma=0;
  4. while (i<3) //supongamos que el numero es de 3 cifras.
  5. {
  6. suma=suma+getchar()-48;
  7. i++;
  8. }
  9. printf("la suma es: %d",suma);
  10. }


tene cuidado que si se ingresan letras, tambien se van a sumar.


saludos
  #3 (permalink)  
Antiguo 08/04/2013, 12:07
 
Fecha de Ingreso: abril-2013
Mensajes: 2
Antigüedad: 11 años, 8 meses
Puntos: 0
Respuesta: sumar cada numero de un numero de x cifras

muchas gracias por la ayuda y la rapidez de respuesta, era justo lo q necesitaba. :))

Etiquetas: cada, funcion, int, numero, programa
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:39.