注:回文数即数字顺着和反着是同一个数!
看了郝斌老师的C语言视频,虽然还只看了80多个,但是还是有一些体会,编程应该养成良好的编程风格,至少到现 在为止写的这些小程序都应该有下面这样一个过程:
1,流程;(知道程序是按照怎样的顺序运行的)
2,功能;(理解程序的作用)
3,试数;(我个人简单的理解为测试过程,把自己当作计算机去执行程序)
/*
2012年4月20日 10:36:23
判断一个数是否是回文数
*/
#include
int main(void)
{
int val; //存放待判断的数据
int m;
int sum = 0;
printf("请输入您需要判断的数字:\n");
scanf("%d",&val);
m = val;
/*这一块是核心代码块:
由sum 不断的从输入的数中获取各位、十位、百位……为了得到反数,需要*10并加上下一位作为个位
sum每更新一次,m值去掉最后一位同时更新
*/
while (m)
{
sum = sum*10 + m%10;
m /= 10;
}
if (sum == val)
printf("Yes!\n");
else
printf("No!\n");
return 0;
}
试数过程(纯粹的体力活)
/*
判断是否是回文数的试数过程
这里只测试核心块
*/
1234
1 -> m = val = 1234; sum = 0 + 1234%10 = 4; m = 1234/10 =123;
2 -> m = 123; sum = 40 + 123%10 = 40+3 = 43; m = 123/10 = 12;
3 -> m = 12; sum = 430 + 12%10 = 432; m = 12/10 = 1;
4 -> m = 1; sum = 4320 + 1%10 = 4321; m = 1/10 = 0;
false
12321
1 -> m = val = 12321; sum = 0 + 12321%10 = 1; m = 12321/10 = 1232;
2 -> m = 1232; sum = 10 + 1232%10 = 12; m = 1232/10 = 123;
3 -> m = 123; sum = 120 + 123%10 = 123; m = 123/10 = 12;
4 -> m = 12; sum = 1230 + 12%10 = 1232; m = 12/10 = 1;
5 -> m = 1; sum = 12320 + 1%10 = 12321; m = 1/10 = 0;
false