『壹』 编写一个程序,判断一个字符串是否为回文,回文就是顺读和逆读都相同,如字符串“abcba”就是回文
#include<stdio.h>
#include<string.h>
int strcmp_self(char *a)
{
int length=strlen(a);
int i,j;
for(i=0,j=length-1;i<length/2+1;i++,j--)
{
if(a[i]!=a[j])
{
return 1;
}
}
return 0;
}
void main()
{
printf("请输入一段吵个字符串:\n");
char s[80];
gets(s);
if(strcmp_self(s)==0)
printf("是回文");
else
printf("不是回文");
}
思路:从两端开始比较a[0]和a[length-1],a[1]和倒数第二个;只握渣侍要出现了不相等的情况,就梁简不是回文,至于i<length/2+1;这个条件,就是比较到中间的那个数就可以结束了,改成i<length其实也可以,表示i从头到尾,j从尾到头,就是多了不必要的比较;//记得采纳哦
『贰』 编写程序,判断给定字符串是否为回文(回文是指正读和逆读都一样的字符串)
#include<stdio.h>
#include<string.h>
intmain()
{
chara[10],b[10];
inti,j;
printf("请输入字符串 ");
gets(a);
for(i=strlen(a)-1;i>哗绝旅=0;i--)
b[i]=a[strlen(a)-i-1];
b[strlen(a)]='