回文数 【问题描述】 所谓"回文数"是指具有如下性质的整数:一个整数,当它的各位数字逆序排列,形成的整数与原整数相同,这样的数称为回文数。例如,素数11,373,其各位数字对换位置后仍然为11,373,因此这两个整数均为回文数。编写函数int loop(int x),判断一个整数是否为回文数,如果x是回文数则返回1,否则返回0。编写程序loop.c,接收控制台输入的两个整数a,b。调用loop函数输出a到b之间(包括a和b)的所有回文数 控制台输入两个整数a和b(必有a<b),以空格分隔。 输出有若干行,每行有一个a和b之间的回文数。输出各行上的数字不重复,且从小至大依次按序输出。
|
#include<stdio.h>
int loop(int x)
{
int y=0,j;
j=x;//要找个变量把x的值装起来不然等会直接用循环操作n最后就不是原来那个x了
while(j!=0)
{
y=y*10+j%10;
j=j/10;
}
if(y==x)
return 1;
else
return 0;
}
int main()
{
int a,b,i;
scanf("%d%d",&a,&b);
for(i=a;i<=b;i++)
{
if(loop(i)==1)
printf("%d\n",i);
}
return 0;
}
定义一个loop函数,loop函数为求逆,return返回值判断是否为回文数,是返回值为1,否则为0.