判断回文数与回文字符串

判断回文数

判断一个数是否为回文数。
回文数:回文数也是一个数字,数字的特点是正反序是同一个数字,如:12321,3443

思路:给一个数字,求出它的反序数字,与本身进行比较,相同即是回文数。
代码:

int Palindrome(int num)
{
    int tmp=num;
    int ret=0;
    if(num < 1)
        return -1;
    else
    {
        while(tmp)
        {
            ret=ret*10+tmp%10;
            tmp=tmp/10;
        }
    }
    return ret;
}
int main()
{
    int num = 12321;
    int ret = Palindrome(num);
    if(ret==num)
        printf("YES\n");
    else
        printf("NO\n");
    return 0;
}

判断回文字符串

判断一个字符串是否为回文字符串。
回文字符串:是一个字符串,但是原字符串和字符串逆序之后一样,比如:“abcba”“cddc”就是回文字符串。

思路:给一个字符串,求出它的逆序字符串,比较即可。

#include <stdio.h>
#include <string.h>
void Palindrome(char *p,int count)
{
    char *start=p;
    char *end=p+count-1;
    while(count--)
    {
        char *tmp=start;
        start=end;
        end=tmp;
    }
}
int main()
{
    char arr[]="abcba";
    char tmp[32]={};
    int len =strlen(arr);
    strcpy(tmp,arr);
    Palindrome(tmp,len);
    if(strcmp(tmp,arr)==0)
        printf("YES\n");
    else
        printf("NO\n");
    return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值