Вопрос

Как добавить цифры в определенном номере, например, если число 3234, результат должен быть 3 + 2 + 3 + 4 = 12?

Это было полезно?

Решение

Что-то вдоль линий этого должно сделать это:

int val = 3234;

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

// Now use sum.

Для продолжения добавления до тех пор, пока не получите ни одной цифры:

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.

Обратите внимание, что оба из них разрушают оригинал val стоимость. Если вы хотите сохранить его, вы должны сделать копию или сделать это в функции, чтобы сохранить оригинал.

Другие советы

Надеюсь, это не ваша домашняя работа!

int sum = 0;
while (value!=0) {
  sum += value % 10;
  value = value / 10;
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top