Поменять цифры в числе в обратном порядке - C (СИ)

Узнай цену своей работы

Формулировка задачи:

С клавиатуры вводится любое число. Программа должна менять цифры в числе в обратном порядке. Например из 1097 сделает 7901.

Решение задачи: «Поменять цифры в числе в обратном порядке»

textual
Листинг программы
  1. #include<stdio.h>
  2.  
  3. int main(void)
  4. {
  5.     int d,n,i,cnt,shift;
  6.     d=0;
  7.     n=0;
  8.     i=0;
  9.     cnt=0;
  10.     shift=1;
  11.     scanf("%i",&d);
  12.     n=d;
  13.     do
  14.     {
  15.         cnt++;
  16.         n/=10;
  17.     }
  18.     while(n!=0);
  19.     for(i=0;i<cnt-1;i++) shift*=10;
  20.     n=d;
  21.     d=0;
  22.     do
  23.     {
  24.         d+=((n%10)*shift);
  25.         n/=10;
  26.         shift/=10;
  27.     }
  28.     while(shift!=0);
  29.     printf("%i\n",d);
  30.     getchar();
  31.     return 0;
  32. }

Объяснение кода листинга программы

В этом коде выполняется следующие действия:

  1. Ввод числа с помощью функции scanf.
  2. Вычисление количества цифр в числе (переменная cnt).
  3. Переменная shift инициализируется как 1.
  4. В цикле while число n делится на 10 до тех пор, пока оно не станет равным нулю (это позволяет получить все цифры числа в обратном порядке).
  5. В цикле for вычисляется количество сдвигов (переменная shift) для каждой цифры числа (переменная n).
  6. Число d инициализируется как 0.
  7. В цикле do происходит обратный сдвиг всех цифр числа (переменная n) в число d.
  8. Результат выводится на экран с помощью функции printf.
  9. Ввод символа новой строки с помощью функции getchar.
  10. Программа возвращает 0, что означает успешное завершение работы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы