求一到两百之间所有的回文数

img

#include <stdio.h>
#include<math.h>

// 翻转数字函数申明
int reverse(int i);
// 回文函数申明
int isCircle(int n);
int main()
{
    int temp = 0;
    for (int i = 10; i <= 200; i++)
    {
        if (isCircle(i))
        {
            printf("%d", i);
            printf(" ");
            temp++;
        }
        // 输出每5个后换行
        if((temp%5)==0)
       {
            printf("\n");
         }
    }
    return 0;
}

int reverse(int i) 
{
    int m, j = 0;
    m = i;
    while (m) 
    {
        j = j * 10 + m % 10;
        m = m / 10;
    }
    return j;
}

/**
 * 回文函数
 */
int isCircle(int n) {
    int m;
    m = reverse(n);
    if (m == n)
    {
       return 1; 
    }
    else
    {
        return 0;
    }
}

运行结果:

img


#include <stdio.h>

int main()
{
    int i, reversedInteger, remainder, originalInteger,count = 0;

    for (i = 10; i <= 200; i++)
    {
        originalInteger = i;
        reversedInteger = 0;
        remainder = 0;
        int temp = i;
        // 翻转
        while (temp != 0)
        {
            remainder = temp % 10;
            reversedInteger = reversedInteger * 10 + remainder;
            temp /= 10;
        }

        // 判断
        if (originalInteger == reversedInteger){
            count ++;
            printf("%d ", originalInteger);
            if(count % 5 == 0){
                printf("\n");
            }
        }
    }

    return 0;
}

供参考:

#include <stdio.h>
int huiwen(int n)
{
    int m = 0, k = n;
    while (k)
    {
        m = m * 10 + k % 10;
        k /= 10;
    }
    if (m == n)
        return 1;
    else
        return 0;
}
int main()
{
    int i, k;
    for (i = 10, k = 0; i <= 200; i++)
    {
        if (huiwen(i)){
            printf("%c%3d", k == 0 ? '\r' : k % 5 == 0 ? '\n' : ' ', i);
            k++;
        }
    }
    return 0;
}