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