这个程序应该显示输入等于倒数

Gdo*_*dos 2 c++ visual-studio-code


#include <iostream>
using namespace std;

int main() {
    int n;
    int reversedNumber = 0;
    int remainder;

    cout << "Enter an integer: ";
    cin >> n;

    while (n != 0) {
        remainder = n % 10;
        reversedNumber = (reversedNumber * 10) + remainder;
        n /= 10;
    }
    if (reversedNumber == n)
        cout << "YES";
    else
        cout << "NO";
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

你好,我希望编译器显示是,但是当我在输入中输入 2356532 时显示否,该程序应该显示输入等于倒数。`

Ted*_*gmo 5

n /= 10在你的循环中划分直到你0离开,所以除了作为输入之外 if (reversedNumber == n)永远不会有true任何东西0

n在循环前保存并与循环后保存的值进行比较。

例子:

int saved = n;
while (n != 0) {
    remainder = n % 10;
    reversedNumber = (reversedNumber * 10) + remainder;
    n /= 10;
}
if (reversedNumber == saved) ...
Run Code Online (Sandbox Code Playgroud)

演示