题目:
?
一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。
程序分析:
直接分别将个十千万位分别表示出来,然后依次判断个位是否与万位相同,十位是否与千位相同。
代码实现:
#include <stdio.h>
int main()
{
int g,s,q,w,n;//个十千万位
printf("请输入五位整数n(n>0):\n");
scanf("%d",&n);
if(n<=0&&n>99999)
{
printf("输出错误!");
}
w=n/10000;//得到万位
q=(n%10000)/1000;//去掉万位后,得到千位
s=(n%100)/10;去掉百位后,得到十位
g=n%10;//得到个位
// printf("w-%d\n",w);
// printf("q-%d\n",q);
// printf("s-%d\n",s);
// printf("g-%d\n",g);
if(g==w&&s==q)
{
printf("%d是回文数\n",n);
}
else
{
printf("%d不是回文数\n",n);
}
return 0;
}
代码效果:
?
?另一种方法:
#include<stdio.h>
int main()
{
int m, K, q, sum = 0;
printf("请输入一个整数:");
scanf("%d", &m);
K = m;
while (m)
{
q = k % 10;
m = k / 10;
sum = 10 * sum + q; //翻转原数
}
if (K == sum)
printf("\n%d是回文数", sum);
else
printf("\n%d不是回文数", sum);
return 0;
}
|