C语言 判断回文数函数集合

#include <stdio.h>
#include <math.h>
#include <string.h>
int pdhwd(int shu)
{
    int a[10],i=0,b;
    while(shu!=0)
    {
        a[i]=shu%10;
        shu=shu/10;
        i++;
    }
    for(b=0;b<i/2;b++)
    {
        if(a[b]!=a[i-1-b])
        return 0;
    }
    return 1;
 } 
int pdhwc(int x)
{
    int a=x,b=0,c;
    while(a>0)
    {
        b=b*10+a%10;
        a=a/10;
    }
    if(b==x) return 1;
    else return 0;
}
int pdhwb(int shu)
{
    int c=shu,a=1,b,d;
    char zf[100];
    sprintf(zf,"%d",shu) ;
    b=strlen(zf);
    for(a=0;a<b/2;a++)
    {
        if(zf[a]!=zf[b-a-1]) return 0;
    }
    return 1;
    
}
int pdhwa(int shu)
{
    int c=shu,a=0,b,d;
    while(shu)
    {
        shu=shu/10;
        a=a+1;        
    }
    d=a/2;
    for(b=1;b<=d;b++)
    {
        //printf("%d %d %d %d\n",a,b,c/((int)pow(10,b-1))%10,c/((int)pow(10,a-b))%10);
       if(c/((int)pow(10,b-1))%10!=c/((int)pow(10,a-b))%10) return 0;
    }
    return 1;
}
main()
{
    int a,b=0,c;
    for(a=10;a<=10000;a++)
    if (pdhwd(a)==1)printf("%d ",a),b++;
    printf("\n%d",b);
    getchar();
 }

 

posted @ 2022-05-03 15:11  myrj  阅读(77)  评论(0编辑  收藏  举报