求4000到7000以内的所有回文数的个数的程序

2025年01月05日 08:48
有1个网友回答
网友(1):

给你一个范例,这个是1-10000的
#include
#include

int main(int argc, char *argv[])
{
unsigned int a, b, c, d;
int i;
int sum;
int flag = 0;

printf("Printing reverse number from 1 to 10000\n");
for (i=1; i <= 10000; i++)
{
flag = 0;
a = i/1000;
b = (i-a*1000)/100;
c = (i-a*1000-b*100)/10;
d = i-a*1000-b*100-c*10;

/* printf("%d=%d, %d, %d, %d\n", i, a, b, c, d); */ /* debug */

if (i < 10) /* single digit */
{
flag = 0;
}
else if (i<100) /* double digits */
{
if (c == d)
flag = 1;
}
else if (i < 1000) /* triple digits */
{
if (b == d)
flag = 1;
}
else /* quadruple digits */
{
if ((a == d) && (b == c))
flag = 1;
}

if (flag) {
printf("%d\n", i);
sum++;
}

}

printf("Sum = %d\n", sum);
return 0;
}