使用字符数组存储一段字符,判断是否是回文字符串(需要判断并忽略空格)

#include <iostream>
#include<string>
using namespace std;

int main()
{
	char a[]="123 43 21",b[20]={0};
	int len=sizeof(a)-1;//sizeof算上最后的'\0'了 
	cout<<"数组长度为:"<<len<<endl;
	int j=0;
	for(int i=0;i<len;i++){
		if(a[i]!=' '){//&&a[i]!='\0'
			b[j]=a[i];
			j++;
		}	
	}
	cout<<"实际字符长度为:"<<j<<endl;
	int i=0,flag=1;
	j=j-1;
	while(i<=j){
		if(b[i]!=b[j]){
			flag=0;
			break;
		}
			
		else{
			i++;
			j--;
		}
	} 
	if(flag==1)
	cout<<b<<"是回文字符串"<<endl;
	else if(flag==0)
	cout<<b<<"不是回文字符串"<<endl;
	return 0;
}

发布了25 篇原创文章 · 获赞 8 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/natures66/article/details/88089577