赞
踩
【问题描述】
所谓"回文数"是指具有如下性质的整数:一个整数,当它的各位数字逆序排列,形成的整数与原整数相同,这样的数称为回文数。例如,素数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之间的回文数。输出各行上的数字不重复,且从小至大依次按序输出。
【样例输入】
3 120
【样例输出】
3 4 5 6 7 8 9 11 22 33 44 55 66 77 88 99 101 111
【样例说明】
输入整数a=3,b=120,要求输出所有[3, 120]之间的回文数。按升序分行输出所有符合题意的整数。
#include<stdio.h>
int loop(int num)
{
int s,y=0;
s=num;
while(s>0)
{
y=y*10+s%10;//构造一个新数等于原数的数字逆序排列
s=s/10;
}
if(y==num)//倒置的数等于原数
{
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;
}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。