程序代码:
#include <stdio.h>
#include <string.h>
int ispal(char* p,char* q)
{
return p>=q || *p==*q && ispal(p+1,q-1);
}
int palindrome(char *s)
{
return ispal(s,s+strlen(s)-1);
}
int main()
{
static char buf[1000];
while(scanf("%s",buf)==1){
printf("%d\n",palindrome(buf));
}
}
#include <string.h>
int ispal(char* p,char* q)
{
return p>=q || *p==*q && ispal(p+1,q-1);
}
int palindrome(char *s)
{
return ispal(s,s+strlen(s)-1);
}
int main()
{
static char buf[1000];
while(scanf("%s",buf)==1){
printf("%d\n",palindrome(buf));
}
}
----------------解决方案--------------------------------------------------------
程序代码:
#include <stdio.h>
#include <string.h>
int palindrome(char *s)
{
return strcmp(s, strrev(strdup(s)))==0;
}
int main()
{
char buf[1000];
while(scanf("%s",buf)==1){
printf("%d\n",palindrome(buf));
}
}
#include <string.h>
int palindrome(char *s)
{
return strcmp(s, strrev(strdup(s)))==0;
}
int main()
{
char buf[1000];
while(scanf("%s",buf)==1){
printf("%d\n",palindrome(buf));
}
}
[[italic] 本帖最后由 雨中飞燕 于 2008-1-20 02:08 编辑 [/italic]]
----------------解决方案--------------------------------------------------------
晕,各位大哥大姐果然很猛,一个晚上就给了我这么多答案,基本上说已经明白了,多谢各位了。
----------------解决方案--------------------------------------------------------
我也是不清楚.. 不好意思
----------------解决方案--------------------------------------------------------
用两个指针,一个指向字符串的开头p1,一个指向字符串的尾部p2(用while语句),然后在判断++p1==--p2;就可以拉
----------------解决方案--------------------------------------------------------
楼上的给到点上了
----------------解决方案--------------------------------------------------------
C和指针讲的很好的
----------------解决方案--------------------------------------------------------