
#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从尾到头,就是多了不必要的比较//记得采纳哦
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)