Цель C- Как добавить цифры в число? - PullRequest
4 голосов
/ 27 октября 2010

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

Ответы [ 2 ]

11 голосов
/ 27 октября 2010

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

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 значение.Если вы хотите сохранить его, вы должны сделать копию или сделать это в функции, чтобы сохранить оригинал.

2 голосов
/ 27 октября 2010

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

int sum = 0;
while (value!=0) {
  sum += value % 10;
  value = value / 10;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...