我发表一下我的意见:
我很看不惯knocker这种做法 如果一个人很骄傲的话 他会败的很掺 除非他无敌
所以嘛.....嘿嘿..
等你打败我再说也不迟嘛。
九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。 -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。 -毛泽东
long huiwen(long c) /*编写一个函数,作用是判断输入的是否是回文数,如果是则返回这个数;否,返回0*/ { char a[10],b[10]; int n; for(n=0;n<10;n++) a[n]=b[n]=0; ltoa(c,a,10); /*把回文数转成字符串*/
for(n=0;n<10;n++) b[n]=a[n];
if(!strcmp(strrev(b),a)) /*用字符串比较函数来判断:字符串反过来之后还是否一样*/ return c; /*一样,则是回文数,返回c*/ else return 0; /*不一样,则不是回文数,返回0*/
}
==================================================================
这个是我的
int fun(long s) { long a,t=0 ; a=s ; while(a)t*=10,t+=a%10,a/=10 ; if(t==s)return 1 ; return 0 ; }
算法就是算法,与函数封装有何干系?
晕,等等,KNOCKER不好意思,先道个歉. 我仔细看了下我的函数,难怪你说你的代码作用和我的一样,原来我在写程序的时候偷懒,调用了以前不成熟的代码,正确的代码是: int huiwen(char *a) /*编写一个函数,作用是判断输入的是否是回文数,如果是则返回这个数;否,返回0*/ { char *b; int sign; b=(char *)malloc(sizeof(a)); strcpy(b,a); /*复制字符串a=>b*/ if(!strcmp(strrev(b),a)) /*用字符串比较函数来判断:字符串反过来之后还是否一样*/ sign=1; /*一样,则是回文数,返回1*/ else sign=0; /*不一样,则不是回文数,返回0*/ free(b); /*释放b*/ return sign; }
这样的函数就可以应付所有的情况(就是说数无限大,当然不能超过内存大小) 这个才是我应该贴出来的.
嘿嘿!嘿嘿!神啊,给你看看什么叫算法!
[UseMoney=100]
int fun(char*a) { char*str,*ptr ; str=ptr=a ; if(!(*ptr))return-1 ; //当字符串为空时返回-1 while(*ptr)ptr++; ptr--; while(ptr-str>=0)if(*ptr--!=*str++)return 0 ; //不是回文数返回0 return 1 ; //否则返回1 }
[/UseMoney]
晕,狂晕ing....
你把钱都给我干什么?。。。。。
我发出来算了,希望你还没有走。。
看看吧
int fun(char*a) { char*str,*ptr ; str=ptr=a ; if(!(*ptr))return-1 ; //当字符串为空时返回-1 while(*ptr)ptr++; ptr--; while(ptr-str>=0)if(*ptr--!=*str++)return 0 ; //不是回文数返回0 return 1 ; //否则返回1 }