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