【C语言】Problem B: (C11指针 )(必做)判断一个字符串是否是回文

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 46  Solved: 34
[Submit][Status][Forum]

Description

从键盘上输入一个字符串,判断是不是回文,如果是,返回 yes,否则返回no。

回文:正读与逆读相同 ,如:abccba,agnnga,abcba

Input

 一个字符串

Output

 如果是回文输出1,否则输出0

Sample Input

abcba

Sample Output

1

HINT


#include<stdio.h>
#include<string.h>
int f(char *p,int t)
{
	int i,m=1,n;
	/* 
	char *p2; 
	p2 = p;//另外一种思路是复制指针 
	p2 = p+t-1;//指向数组尾部 
	n=t/2;
	for(i=0;i<=n;i++,p++,p2--)
	if(*p!=*p2){
		m=0;break;
	}
	*/
	n=t/2;
	for(i=0;i<=n;i++){
		if(*(p+i)!= *(p+t-i-1)){
			m=0;
		}
	}
	
    return m;
}
int main()
{
	int t;
	char c[100];
	gets(c);
	t=strlen(c);
	printf("%d",f(c,t));
}


记录一下让我掉进坑的代码,p++不能这样用。。。。
标签: c oj

发表评论

路人甲 表情
看不清楚?点图切换 Ctrl+Enter快速提交

网友评论(0)

sitemap