题目:
思考:
一开始准备用对称性质设变量解出各位具体的数字,发现这种比较麻烦,就选用将变量每一位数字求出来然后利用对称解出答案。具体就是if语句挑选变量n的范围,嵌套for循环挑选出所有回文数,然后嵌套if语句求出所求的数字满足的回文数。
代码:
#include<stdio.h>
int main()
{
int a,b,c,d,e,f,i,n;
printf("输入所求范围:");
scanf("%d",&n);
if(n>=1&&n<=45)
{
for(i=10000;i<=99999;i++)
{
a=i/10000%10;
b=i/1000%10;
c=i/100%10;
d=i/10%10;
e=i/1%10;
if(a==e&&b==d&&a+b+c+d+e==n)
{
printf("%d\n",i);
}
}
}
else
if(n>=46&&n<=54)
{
for( i=100000;i<=999999;i++)
{
a=i/100000%10;
b=i/10000%10;
c=i/1000%10;
d=i/100%10;
e=i/10%10;
f=i/1%10;
if(a==f&&b==e&&c==d&&a+b+c+d+e+f==n)
{
printf("%d\n",i);
}
}
}
}
结果截图: