Ver Mensaje Individual
  #2 (permalink)  
Antiguo 08/04/2013, 11:38
starfix
 
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