题解 | #回文对称数#

回文对称数

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;
}

全部评论

相关推荐

06-23 11:43
门头沟学院 Java
allin校招的烤冷...:我靠,今天中午我也是这个hr隔一个星期发消息给我。问的问题还是一模一样的😅
点赞 评论 收藏
分享
06-26 17:24
已编辑
宁波大学 golang
迷失西雅图:别给,纯kpi,别问我为什么知道
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务