Эта программа меняет на обратное целое число (введенное пользователем) с помощью цикла while. Затем оператор if используется для проверки того, совпадает ли обратное число с исходным числом.
Чтобы понять этот пример, вы должны знать следующие темы программирования на C ++:
- C ++ while и do … while Цикл
- C ++ if, if… else и Nested if… else
Эта программа принимает целое число от пользователя, и это целое число переворачивается.
Если обратное целое число равно целому числу, введенному пользователем, то это число является палиндромом, если не это число не является палиндромом.
Пример: Проверить номер палиндрома
#include using namespace std; int main() ( int n, num, digit, rev = 0; cout <> num; n = num; do ( digit = num % 10; rev = (rev * 10) + digit; num = num / 10; ) while (num != 0); cout << " The reverse of the number is: " << rev << endl; if (n == rev) cout << " The number is a palindrome."; else cout << " The number is not a palindrome."; return 0; )
Вывод
Введите положительное число: 12321 Число, обратное числу: 12321, представляет собой палиндром.
Введите положительное число: 12331 Число на обороте: 13321 Число не является палиндромом.
В приведенной выше программе пользователю предлагается ввести положительное число, которое хранится в переменной num.
Затем число сохраняется в другой переменной n, чтобы проверить его, когда исходное число было перевернуто.
Внутри цикла do… while последняя цифра числа разделяется кодом digit = num % 10;
. Затем эта цифра добавляется к переменной rev.
Перед добавлением цифры к rev нам сначала нужно умножить текущие данные в переменной rev на 10, чтобы добавить цифру к n- му месту в числе.
Например: в количестве 123, 3 находится в нуль - е место, 2 в одном - е место и 1 в сто - е место.
Таким образом, чтобы добавить еще один номер 4 после того, как 123, нам нужно перенести текущие номера влево, так что теперь 1 в тысяче - е место, 2 в одном - е место, 3 находится в одном - е место и 4 в ноль -е место.
Это легко сделать, умножив 123 на 10, что даст 1230, и прибавив число 4, что даст 1234. То же самое сделано в приведенном выше коде.
Когда цикл do while, наконец, заканчивается, мы получаем обратное число в rev. Затем это число сравнивается с исходным числом n.
Если числа равны, исходное число является палиндромом, в противном случае - нет.