题解 | #回文对称数#

回文对称数

https://www.nowcoder.com/practice/5b143af8328f4e42adf5e10397ae44ef

#include <stdio.h>

// 判断一个数是否是回文数
int test(int x)
{
    char arr[20]; // 定义字符数组存储整数的字符串表示
    int sz, left, right;

    // 将整数转换为字符串
    sprintf(arr, "%d", x);

    // 计算字符串的长度
    sz = 0;
    while (arr[sz] != '\0') 
    {
        sz++;
    }

    // 双指针判断是否为回文
    left = 0;
    right = sz - 1;
    while (left <= right) 
    {
        if (arr[left] != arr[right]) 
        {
            return 0; // 不是回文数
        }
        left++;
        right--;
    }
    return 1; // 是回文数
}

int main()
{
    int n, i;
    scanf("%d", &n); // 输入整数 n

    for (i = 1; i <= n; i++) 
    {
        if (test(i)) 
        {
            printf("%d\n", i); // 输出回文数
        }
    }

    return 0;
}

全部评论

相关推荐

爱喝奶茶的垂耳兔拥抱太阳:感觉项目和实习没有技术亮点和难点,单纯说了自己干了啥
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务