*编写程序,判断给定字符串是否为回文*

*编写程序,判断给定字符串是否为回文*,第1张

#include<stdio.h>

#include<string.h>

intmain()

chara[100]={0};

inti=0;

intlen=0;

printf("pleaseinputcharacterstring:\n");

gets(a);

len=strlen(a);//计算输入字符的长度;

for(i=0;i<(len/2);i++)//只需要判断前一半(len/2)长度就好了

if(a[i]!=a[len-1-i])//判断是否为回文数;

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

return0;

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

return0;

扩展资料:

printf用法:

printf()函数的调用格式为:printf("&lt格式化字符串&gt",&lt参量表&gt)。

其中格式化字符串包括两部分内容:一部分是正常字符,这些字符将按原样输出另一部分是格式化规定字符,以"%"开始,后跟一个或几个规定字符,用来确定输出内容格式。

参量表是需要输出的一系列参数,其个数必须与格式化字符串所说明的输出参数个数一样多,各参数之间用","分开,且顺序一一对应,否则将会出现意想不到的错误。

比如:

inta=6789;

printf("a=%d\n",a)

输出结果为a=6789。

#include<stdio.h>

int main()

{char s[200],*p=s,*q=s

gets(s)

for(*qq++)

for(q--p<q&&*p++==*q--)

if(p>=q)printf("yes\n")

 else printf("no\n")

getch()

return 0

}

#include<stdio.h>

#include<string.h>

int strcmp_self(char *a)

{

int length=strlen(a)

int i,j

for(i=0,j=length-1i<length/2+1i++,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从尾到头,就是多了不必要的比较//记得采纳哦


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7751835.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-09
下一篇2023-04-09

发表评论

登录后才能评论

评论列表(0条)

    保存