C++输入一个数字,判断其是否为逆序数(各个数位上的数字,正序和逆序都一样的整数),是则输出“yes”,不是则输出“no”。
时间: 2023-06-25 13:04:09 浏览: 153
以下是一种实现方式:
```c++
#include <iostream>
using namespace std;
int main() {
int num, reversedNum = 0, originalNum;
cin >> num;
originalNum = num;
while (num > 0) {
reversedNum = reversedNum * 10 + num % 10;
num /= 10;
}
if (reversedNum == originalNum) {
cout << "yes" << endl;
} else {
cout << "no" << endl;
}
return 0;
}
```
首先,我们定义了3个整数变量,分别为 `num`,`reversedNum` 和 `originalNum`。其中,`num` 用于存储输入的数字,`reversedNum` 用于存储 `num` 的逆序数,`originalNum` 则用于存储 `num` 的原始值。
然后,我们通过 `cin` 从标准输入流中读取一个整数 `num`。
接着,我们使用一个循环将 `num` 的各个数位逆序存储到 `reversedNum` 中。循环的条件为 `num > 0`,即当 `num` 已经被逆序存储完毕时,循环退出。在每一次循环中,我们将 `reversedNum` 左移一位(相当于乘以10),并加上 `num` 的个位数(`num % 10`),然后将 `num` 右移一位(相当于除以10),以便处理下一位数。
最后,我们将 `reversedNum` 和 `originalNum` 进行比较。如果相等,则输出 `"yes"`,否则输出 `"no"`。
阅读全文