判断是否是回文字符串

判断一个字符串是否是回文字符串 就类似 ‘ababa‘ 这样的字符串,正读和反读都一样

int main()
{
	char a[101], s[101];
	int i, len, mid, next, top;
	gets(a);
	len = strlen(a);    //求字符串a的长度
	mid = len / 2 - 1;   //求出字符串的中点
	top = 0;  //将栈清空
	for (i = 0; i <= mid; i++)
		s[++top] = a[i];     //将mid之前的字符串都压入栈中

	//判断字符串的长度是奇数还是偶数,并找出需要进行字符匹配的下标的起始位置
	if (len % 2 == 0)   
		next = mid + 1;
	else
		next = mid + 2;
	//开始匹配
	for (i = next; i <= len - 1; i++){
		if (a[i] != s[top])
			break;
		top--;
	}
	//top = 0 就是回文字符串,打印“yes”
	if (top == 0)
		printf("yes");
	//否则,打印“no”
	else
		printf("no");

	system("pause");
	return 0;
}

猜你喜欢

转载自blog.csdn.net/LSFAN0213/article/details/81746034
今日推荐