Другие языки программирования и технологии

Как заменить первую цифру числа на единицу в C++? Очень нужно. Буду очень благодарен!

unsigned int n, k, d[10];
n = 83457;
printf("%d\n", n);

k = 0;
do
{
d[k++] = n % 10;
} while (n /= 10);

d[k-1] = 1;
while (k--)
{
n = 10 * n + d[k];
}
printf("%d\n", n);
─╪Вѧðиӎ╪─ К
─╪Вѧðиӎ╪─ К
21 360
Лучший ответ
переведите число в строку.. . выдерите все значение строки кроме первого символа, прибавьте к строке в начало единицу и снова переведите в число.. .
вроде так...
AI
Alexandr I.
34 293
не важно в си или где нить еще-ищещь первую цифру числа, затем ее меняешь
я не знаю си, но алгоритм раскажу. Возьмем к примеру число 231. Создаешь цикл, который делит число на 10 до тех пор, пока не получиться число с одной цифрой перед комой. В нашем случае получается 2,31 (2 раза нада поделить) . потом создаешь цикл в котором от числа отнимаеться 1 до тех пор, пока цифра перед комой будет 0. (результатное число при выходе из цикла в нашем случае 0,31). Дальше добавляешь к числу 1 и множешь на 10 такое количество раз, которое делил в первом цикле.
Вячеслав '
Вячеслав '
1 402
void main()
{
char number[25];
printf("Vvedite celoe mnogozna4noe 4islo\n");
scanf("%s", number);
number[0] = '1';
printf("polu4eno 4islo %s", number);
}

т. е. ты его записываешь сразу как строку, чтобы не мучаться с переводом этого числа в строку, а там присваиваешь первому элементу строки значение единицы...
Elena Nalepo
Elena Nalepo
1 339

Похожие вопросы