Поменять цифры в числе в обратном порядке - 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;
}

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

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

  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
Похожие ответы