文章

6

粉丝

137

获赞

2

访问

5.8k

头像
判断回文数 题解:
P1700 厦门大学2017年机试题
发布于2023年9月15日 19:00
阅读数 653

#include<stdio.h>
#include<string.h>
#include<stdbool.h>
#define N 1000000

int main()
{
    long long num;
    
    while(scanf("%lld", &num) != EOF)
    {
        bool flag = true;
        char str[N], huiwen[N];
        int i = 0, j = 0;
        int len = 0;
        
        //将整数拆分为字符串存放在数组中 
        while(num > 0)
        {
            str[i ++] = num % 10 + '0';
            num /= 10;
        }
        //记录字符串的长度 
        len = i;
        //将逆序字符串存储在另外一个数组中 
        for(j = len - 1, i = 0; j >= 0; j--, i++)
            huiwen[i] = str[j];
        
        //比较正序和逆序的字符串,如果相等就说明是回文串 
        for(i = 0; i < len; i++)
            if(str[i] != huiwen[i]) flag = false;
        
        if(flag)
            printf("Yes\n");
        else
            printf("No\n");
    }
    return 0;
} 

 

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发