C语言| 回文数字

判断一个数是否是回文数

m = number;

把这个数m 进行除法、取余数的操作,分别得到个位 十位 百位 千位...

再把它们相加,最后和原数比较看是否相等来判断是否是回文数字。

试数的过程:23432

① sum=sum*10+m%10 即sum=0 +2=2,然后m /=10,即m=2343。

② sum=sum*10+m%10 即sum=2*10 +3=23,然后m /=10,即m=234。

③ sum=sum*10+m%10 即sum=23*10 +4=234,然后m /=10,即m=23。

④ sum=sum*10+m%10 即sum=234*10 +3=2343,然后m /=10,即m=2。

⑤ sum=sum*10+m%10 即sum=2343*10 +2=23432,然后m /=10,即m=0。m=0则退出while循环。

此时sum的值就是m完全倒过来的值,接下来就判断它们相不相等就行了。

【运行结果】

【程序代码】

#include <stdio.h>

int main(void)

{

int number; //存放待判断的数字

int m;

int sum = 0;

printf("请输入您需要判断的数字:");

scanf("%d", &number);

m = number;

while(m) // m不为0,则执行程序

{

sum = sum*10 +m%10; //sum的值就是m倒过来的值,也就是number

m /= 10;

}

if(sum == number)

{

printf("Yes\n");

}

else

{

printf("No\n");

}

return 0;

}

相关推荐
zUlKyyRC6 分钟前
LabVIEW 玩转数据库:Access 与 SQL Server 的实用之旅
开发语言
菜鸟233号9 分钟前
力扣213 打家劫舍II java实现
java·数据结构·算法·leetcode
方便面不加香菜17 分钟前
数据结构--栈和队列
c语言·数据结构
狐5721 分钟前
2026-01-18-LeetCode刷题笔记-1895-最大的幻方
笔记·算法·leetcode
AGMTI23 分钟前
webSock动态注册消息回调函数功能实现
开发语言·前端·javascript
csbysj202039 分钟前
SQLite Select 语句
开发语言
点云SLAM39 分钟前
C++(C++17/20)最佳工厂写法和SLAM应用综合示例
开发语言·c++·设计模式·c++实战·注册工厂模式·c++大工程系统
_WndProc39 分钟前
【Python】方程计算器
开发语言·python
Q741_14740 分钟前
C++ 队列 宽度优先搜索 BFS 力扣 662. 二叉树最大宽度 每日一题
c++·算法·leetcode·bfs·宽度优先
Pluchon42 分钟前
硅基计划4.0 算法 动态规划进阶
java·数据结构·算法·动态规划