请用c语言编写程序输出100~999之间的所有回文数。

2024-11-18 08:45:08
推荐回答(3个)
回答1:

对于三位数来说,只要百位和个位相同就是回文数,根据此思路,写程序如下:

#include
int main()
{
for(int i=100;i<1000;i++)
{
if(i/100==i%10)
printf("%d ",i);
}
}

希望接纳。^_^o~ 努力!

回答2:

#include
#include
#include

void check (int i)
{
char p[6],q[6];
int length;
register int j,r;

_itoa (i, p, 10); //数字到字符的转化
length = strlen(p); //获得p的长度
r = length; //
q[r] = '\0'; //
r--; //
for (j= 0 ; j q[r] = p[j]; //
r--; //
} //
if (!strcmp (p, q)) // 注意strcmp,该函数返回FALSE如果两个字串相等,TRUE如果不相等(我想你的问题可能就在这里)
printf ("%d\n", i);
}

int main()
{
int i;
for (i=100; i<=999; i++)
check(i);
return 0;
}

回答3:

#include
main()
{
int j,k,a[6]={-1,-1,-1,-1,-1,-1},pflag;
long int i,s,p;
for(i=100;i<999;i++)
{ s=i;pflag=1;
for(j=0;s;j++)
{ p=pow(10,j+1);
a[j]=s%p*10/p;
s-=s%p;
}
for(j=0;a[j]!=-1;j++);
if(j!=1)
for(k=0,j--;!(j-k==-1||j-k==0);k++,j--)
if(a[k]!=a[j])pflag=0;
if(pflag)printf("%d\n",i);
}
}