C语言判断回文数的函数

#include <stdio.h>
int cf(int a)
{
    int c=1,s=1;
    for(c=1;c<=a;c++)
    s=s*10;
    return s;
}
int pdhw(int shu)
{
    int c=shu,a=1,b,d;
    while(shu)
    {
        shu=shu/cf(a);
        a=a+1;        
    }
    d=a/2;
    for(b=1;b<=d;b++)
    {
        //printf("%d\n",c/cf(b-1)%10);
        //printf("%d\n",c/cf(a-b)%10);
        if(c/cf(b-1)%10!=c/cf(a-b)%10) return 0;
    }
    return 1;
}
main()
{
    int shu,a=1,b,c;
    shu=7357;
    printf("%d",pdhw(shu));
    getchar();
 }

 

#include <stdio.h>
#include <math.h>
int pdhw(int shu)
{
    int c=shu,a=1,b,d;
    while(shu)
    {
        shu=shu/((int)pow(10,a));
        a=a+1;        
    }
    d=a/2;
    for(b=1;b<=d;b++)
    {
       if(c/((int)pow(10,b-1))%10!=c/((int)pow(10,a-b))%10) return 0;
    }
    return 1;
}
main()
{
    int shu,a=1,b,c;
    shu=7337;
    printf("%d",pdhw(shu));
    getchar();
 }

 

#include <stdio.h>
#include <string.h>
int pdhw(int shu)
{
    int c=shu,a=1,b,d;
    char zf[100];
    sprintf(zf,"%d",shu);
    b=strlen(zf);
    printf("%d\n",b);
    for(a=0;a<b/2;a++)
    {
        printf("%c %c\n",zf[a],zf[b-a-1]);
        if(zf[a]!=zf[b-a-1]) return 0;
    }
    return 1;
    
}
main()
{
    int shu,a=1,b,c;
    shu=7337;
    printf("%d",pdhw(shu));
    getchar();
 }

 

posted @ 2022-05-02 21:17  myrj  阅读(822)  评论(0编辑  收藏  举报