Увеличить каждую цифру числа на единицу - C (СИ)
Формулировка задачи:
Дано натуральное число n. Увеличить каждую цифру числа на единицу. Вместо цифры девять записать ноль. Подсчитать количество цифр в изображении числа.
Решение задачи: «Увеличить каждую цифру числа на единицу»
textual
Листинг программы
size_t inc_digits(size_t n){
int i;
char ds[18];
for(i = 0; n != 0; n /= 10, ++i){
ds[i] = (char)(n % 10);
if(++ds[i] > 9)
ds[i] = 0;
}
for(i -= 1; i >= 0; --i)
n = n*10 + (size_t)ds[i];
return n;
}
Объяснение кода листинга программы
- Увеличить каждую цифру числа на единицу
- Преобразовать полученное число в строку
- Вернуть полученную строку