c语言判断回文串函数 c语言如何判断回文串

用C语言如何编写判断一个字符序列是否是回文的函数?

//首先我认为回文不一定是奇数个;也有可能是偶数个;只要这个字符串

成都创新互联公司主要从事成都网站设计、做网站、网页设计、企业做网站、公司建网站等业务。立足成都服务定远,10年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:13518219792

//正读跟反读都一样

那它就是回文

所以不应该把字符串的个数当成是判断回文串的

//一个条件。

#include

stdio.h

#include

string.h

#include

conio.h

bool

huiWen(const

char

*p);

int

main()

{

char

test[225];

gets(test);

if(huiWen(test))

{

printf("是回文!\n");

}

else

{

printf("不是回文!\n");

}

getch();

return

0;

}

bool

huiWen(const

char

*p)

{

int

i=0,n=strlen(p);

while(p[i]==p[n-i-1]

in-i-1)

//只要相等且还未相遇则继续循环

{

i++;

}

return

((in-i-1)?

false:true);

//若in-i-1表示中途遇到不相等的字符而退出循环

}

C语言 判断回文字符串

#include stdio.h

/*fun()函数:传入一个字符数组,如果是回文序列返回1,不是就返回0*/

int fun(char a[])

{

int i,j,n=0;

while(a[n]!='\0') n++; /*计算传入字符串(数组)长度*/

n--; /*跳出while循环时 a[n]='\0',故n--*/

for(i=0,j=n;ij;i++,j--)

if(a[i]!=a[j]) break;

if(i=j) return 1;

return 0;

}

int main()

{

char str[20];

puts("输入一个字符串:\n");

gets(str);

if(fun(str)) printf("%s 是回文序列\n",str);

else printf("%s 不是回文序列\n",str);

return 0;

}

c语言回文串判断

我看了下逻辑不对,还有些语法错误,我修改了下可以运行,有问题追问我。

#includestdio.h

#includestring.h

int

main()

{

int

n=0,j,t=0,s;

char

a[100];

while(scanf("%d",s)!=EOF)

{

scanf("%s",a)

n=strlen(a);

for(t=0,j=0;jn/2;j++)

{

if(a[j]==a[n-1-j])

{

t++;

}

else

{

break;

}

}

if(t==(n/2

-

1)||t==n/2)

{

printf("Yes\n");

}

else

{

printf("no\n");

}

}

return

0;

}

C语言判断一串字符是否为回文串

需要比较整个字符串然后得到结论输出yes而不是只判断了一个字符相等就输出

#includestdio.h

#includestring.h

const int maxn=256;

int main(){ int i; char str[maxn]; int len,b;

scanf("%s",str); len=strlen(str); //输入完了字符串再计算长度,不能在输入之前算

for(i=0,b=1;i=len/2;i++) 

if(str[i]!=str[len-i-1]){ b=0; break; } //如果发现不相等则判定不是回文

if ( b!=0 ) printf("yes"); else printf("no"); //等循环完毕再得出结论

return 0; //main前面有int修饰,因此必须返回整型值

}


本文名称:c语言判断回文串函数 c语言如何判断回文串
转载源于:http://scjbc.cn/article/doshces.html

其他资讯