/**
**程序算法思路:判断一个数是否为回文数,可以用一个函数模块来实现,然后用for循环对100000以内的数逐个进行判断并输出回文数。
回文数:判断一个数是不是回文数的方法,回文数就是原数与其倒置后的数相等。
*/
#include
#define N 100000 //定义符号常量
//判断是否为回文数的函数
int isHuiwenNumber(int n)
{
int sum,tmp;
tmp=n;
sum=0;
while(n) //从低位到高位分解n的每位的数字,然后依次相加
{
sum=sum*10+n%10;
n/=10;
}
if(tmp == sum) //如果重新每位求和的值等于原值,则该数为完数,返回1,否则返回0
return 1;
else
return 0;
}
int main()
{
int i,count;
for(i=0,count=0;i{
if(isHuiwenNumber(i)) //调用函数,如果条件为真,执行if语句体
{
printf("%-6d",i); //输出回文数
count++;
if(count % 10 == 0) //每行输出10个后便换行
printf("\n");
}
}
printf("\n");
return 0;
}
由于运行结果内容太多,故部分运行结果截图如下:
/**
**程序算法思路:判断一个数是否为回文数,可以用一个函数模块来实现,然后用for循环对100000以内的数逐个进行判断并输出回文数。
回文数:判断一个数是不是回文数的方法,回文数就是原数与其倒置后的数相等。
*/
#include
#define N 100000 //定义符号常量
//判断是否为回文数的函数
int isHuiwenNumber(int n)
{
int sum,tmp;
tmp=n;
sum=0;
while(n) //从低位到高位分解n的每位的数字,然后依次相加
{
sum=sum*10+n%10;
n/=10;
}
if(tmp == sum) //如果重新每位求和的值等于原值,则该数为完数,返回1,否则返回0
return 1;
else
return 0;
}
int main()
{
int i,count;
for(i=0,count=0;i
if(isHuiwenNumber(i)) //调用函数,如果条件为真,执行if语句体
{
printf("%-6d",i); //输出回文数
count++;
if(count % 10 == 0) //每行输出10个后便换行
printf("\n");
}
}
printf("\n");
return 0;
}
由于运行结果内容太多,故部分运行结果截图如下:
#include
int huiwen(long x)
{
long y=0,xx=x;
while(xx!=0){
y=y*10+xx%10;
xx/=10;
}
if (x==y) return 1;
else return 0;
}
int main(){
long i;
int count=0;
for(i=0;i<=100000;i++)
if (huiwen(i)) {
count++;
printf("%7ld",i);
if (count % 10==0) printf("\n");
}
printf("\n");
}
#include
unsigned long reverse(unsigned long n);
int main(void)
{
unsigned long i;
for(i=0;i<100000;++i)
{
if(i==reverse(i))
{
printf("%lu\n",i);
}
}
return 0;
}
unsigned long reverse(unsigned long n)
{
unsigned long t;
for(t=0;n;n/=10)
{
t=t*10+n%10;
}
return t;
}