用栈来判断字符串是否是回文字符串

代码如下:

#include <stdio.h>
#include <string.h>

int main(){
	char a[100],s[100];
	int i,j,top,next,len,mid;
	printf("请输入一串字符串
");
	gets(a);
	len=strlen(a);
	mid=len/2-1;
	top=0;
	for(i=0;i<=mid;i++){
		s[++top]=a[i];
	}
	//计算next
	if(len%2==0){
		next=mid+1;//偶数加1
	}else{
		next=mid+2;
	}
	for(i=next;i<=len-1;i++){
		if(a[i]!=s[top]){
			break;
		}
		top--;
	}
	if(top==0){
		printf("
  Yes");
	}else{
		printf("
   No");
	}
	return 0;
}


#include #include int main(){ char a[100],s[100]; int i,j,top,next,len,mid; printf("请输入一串字符串 "); gets(a); len=strlen(a); mid=len/2-1; top=0; for(i=0;i<=mid;i++){ s[++top]=a[i]; } //计算next if(len%2==0){ next=mid+1;//偶数加1 }else{ next=mid+2; } for(i=next;i<=len-1;i++){ if(a[i]!=s[top]){ break; } top--; } if(top==0){ printf(" Yes"); }else{ printf(" No"); } return 0; }
经验分享 程序员 微信小程序 职场和发展