Поменять цифры в числе в обратном порядке - C (СИ)
Формулировка задачи:
С клавиатуры вводится любое число. Программа должна менять цифры в числе в обратном порядке. Например из 1097 сделает 7901.
Решение задачи: «Поменять цифры в числе в обратном порядке»
textual
Листинг программы
- #include<stdio.h>
- int main(void)
- {
- int d,n,i,cnt,shift;
- d=0;
- n=0;
- i=0;
- cnt=0;
- shift=1;
- scanf("%i",&d);
- n=d;
- do
- {
- cnt++;
- n/=10;
- }
- while(n!=0);
- for(i=0;i<cnt-1;i++) shift*=10;
- n=d;
- d=0;
- do
- {
- d+=((n%10)*shift);
- n/=10;
- shift/=10;
- }
- while(shift!=0);
- printf("%i\n",d);
- getchar();
- return 0;
- }
Объяснение кода листинга программы
В этом коде выполняется следующие действия:
- Ввод числа с помощью функции scanf.
- Вычисление количества цифр в числе (переменная cnt).
- Переменная shift инициализируется как 1.
- В цикле while число n делится на 10 до тех пор, пока оно не станет равным нулю (это позволяет получить все цифры числа в обратном порядке).
- В цикле for вычисляется количество сдвигов (переменная shift) для каждой цифры числа (переменная n).
- Число d инициализируется как 0.
- В цикле do происходит обратный сдвиг всех цифр числа (переменная n) в число d.
- Результат выводится на экран с помощью функции printf.
- Ввод символа новой строки с помощью функции getchar.
- Программа возвращает 0, что означает успешное завершение работы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д