Pregunta

¿Cómo agrego los dígitos en un número particular, por ejemplo, si el número es 3234, el resultado debe ser 3+2+3+4 = 12?

¿Fue útil?

Solución

Algo similar a esto debería hacerlo:

int val = 3234;

int sum = 0;
while (val != 0) {
    sum += (val % 10);
    val = val / 10;
}

// Now use sum.

Para continuar agregando hasta obtener un solo dígito:

int val = 3234;

int sum = val;
while (sum > 9) {
    val = sum;
    sum = 0;
    while (val != 0) {
        sum += (val % 10);
        val = val / 10;
    }
}

// Now use sum.

Tenga en cuenta que ambos son destructivos para el original val valor. Si desea preservarlo, debe hacer una copia o hacer esto en una función para que se mantenga el original.

Otros consejos

¡Espero que no sea tu tarea!

int sum = 0;
while (value!=0) {
  sum += value % 10;
  value = value / 10;
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top