一行数字旋转180度后如果能是一个数字那他就叫眩晕数,怎么用c++判断他是不是眩晕数题解
时间: 2024-05-08 12:16:42 浏览: 81
思路:
将数字翻转过来后判断是否和原来的数字相等,如果相等就是眩晕数。
具体实现:
1.定义一个函数来翻转数字,将数字的每一位倒序排列。
2.判断翻转后的数字是否和原来的数字相等,如果相等就是眩晕数。
代码实现:
```c
#include <stdio.h>
// 翻转数字
int reverse(int num) {
int res = 0;
while (num > 0) {
res = res * 10 + num % 10;
num /= 10;
}
return res;
}
int isDizzy(int num) {
int reversed = reverse(num);
return num == reversed;
}
int main() {
int num;
printf("请输入一个数字:");
scanf("%d", &num);
if (isDizzy(num)) {
printf("%d是眩晕数\n", num);
} else {
printf("%d不是眩晕数\n", num);
}
return 0;
}
```
解释:
1.定义 `reverse` 函数来翻转数字,使用了循环和取余运算将数字的每一位倒序排列。
2.定义 `isDizzy` 函数来判断是否是眩晕数,调用 `reverse` 函数翻转数字后判断是否和原来的数字相等。
3.在主函数中输入数字并调用 `isDizzy` 函数来判断是否是眩晕数,输出结果。
总结:
本题需要注意的是将数字翻转过来后需要保留前导零。比如数字 100 翻转后是 001,还是 100。
阅读全文