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;

}

相关推荐
mqiqe13 分钟前
线程调度与 Schedulers:Project Reactor 并发模型的核心引擎
java·开发语言·网络
专注仿真1 小时前
问答大模型技术方案算法实现-熵权法融合算法 + 交叉编码器重排算法
人工智能·python·算法·语言模型·问答大模型关键算法·熵权融合算法·交叉编码器重排算法
xixiaoyunya1 小时前
JavaScript 异步编程全解析:从回调地狱到 async/await 的演进之路
开发语言·javascript·ecmascript
精英的英2 小时前
记一次 Qt5 Language Server 开发
开发语言·vscode·qt
烧酒同学2 小时前
【C++】记录size of std::vector的巧妙坑
开发语言·c++·图形渲染
周周哈哈哈2 小时前
线程创建、执行、退出、回收
java·开发语言
gb42152872 小时前
python中Web应用服务器
开发语言·前端·python
地平线开发者2 小时前
量化为什么会有损失:从量化误差到精度下降
算法
手写码匠3 小时前
华为云Flexus+DeepSeek征文|Dify 多 Agent 会话管理与上下文工程实战:让智能体“记住该记住的,忘掉该忘掉的“
人工智能·深度学习·算法·aigc
2401_862880823 小时前
数据结构 --- 栈
c语言·数据结构·算法