Программа на C++ для перестановки цифр числа в обратном порядке



Книга Программа на C++ для перестановки цифр числа в обратном порядке

В этой программе будем получать от пользователя число и переставлять цифры этого числа в обратном порядке.

  • Начнем программу с заголовочного файла.

#include <iostream>непрерывный поток байтов данных ввода-вывода.

JavaMentor
JavaMentor

using namespace std; → используется для хранения имени переменной.

int main() → возвращает функцию типа данных.

int n, reverse = 0, rem;
cout << ” Enter a number: “;
cin >> n;
  • Объявим переменную в целочисленной форме (n, reverse = 0, rem), ведь вводить мы будем числа (в cout statement у нас задано enter a number («ввести число»)).

cout → вывод символов.

cin → ввод символов.

while (n > 0) {
    rem = n % 10;
    reverse = reverse * 10 + rem;
    n /= 10;
}

Логика кода

Шаг 1. Выделение последней цифры в числе

lastDigit = number % 10

Оператор модуля (%) возвращает остаток от деления. В этом случае мы делим число на 10 и возвращаем остаток. Рассмотрим число 1234. Разряд десятков (30) делится на 10 без остатка, разряд сотен (200) и разряд тысяч (1000)  —  тоже. Остаток от деления будет равен 4, а это разряд единиц, который на 10 не делится. Теперь у нас есть способ выделения последней цифры любого целого числа. Сохраняем это в переменной last digit.

Шаг 2. Добавление «last digit» к «reverse»

reverse = (reverse * 10) + lastDigit

Теперь начинаем составлять число в обратном порядке, добавляя last digit в конец reverse. Не забывайте, что обе эти переменные целочисленные, поэтому их нельзя просто конкатенировать. Умножаем reverse на 10, так что разряд единиц становится разрядом десятков, разряд десятков становится разрядом сотен и т. д. И у нас остается новый разряд единиц, куда мы добавляем последнюю цифру (в нашем примере это 4).

reverse = (0 * 10) + 4

reverse = 4

Мы успешно скопировали последнюю цифру числа и добавили ее в reverse.

Шаг 3. Удаление последней цифры из числа

number = number / 10

Обратите внимание, что число все еще 1234, хотя цифра 4 нами уже использована. Чтобы удалить эту последнюю цифру из числа, просто делим ее на 10. Она будет удалена, потому что здесь выполняется целочисленное деление, при котором результаты округляются до ближайшего целого числа (например, 244 / 10 = 24).

Шаг 4. Повторение этого процесса

while (number > 0)

Повторяем этот процесс, пока число не уменьшится до нуля и не завершится reverse.

cout << ” Reversed Number: “ << reverse << endl;
return 0;

В выводе цифры числа будут переставлены в обратном порядке, потому что в cout statement у нас задано reverse number («переставить цифры числа в обратном порядке»).

endl → очищает буфер и продолжает отображение в новой строке.

return 0 → означает, что программа выполнена успешно (цифры числа переставлены в обратном порядке).

Исходный код

#include <iostream>
using namespace std;
 
int main() {  
    int n, reverse = 0, rem;    
    cout << "Enter a number: ";    
    cin >> n;    
    while (n > 0) {    
        rem = n % 10;      
        reverse = reverse * 10 + rem;    
        n /= 10;    
    }    
    cout << "Reversed Number: " << reverse << endl;     
    return 0;  
}

Вывод

179   0  
    Ничего не найдено.

Добавить ответ:
Отменить.