//3 31.cpp
//称正读和反读都相同的字符序列为“回文”,
//例如:“abba”和“abcba”为回文,
//“abcde”和“ababab”则不是回文。
//试写一个算法判别读入的一个以“@”为结束符的字符序列是否为回文。
#include<iostream>
#include<cstring>
using namespace std;
const int bufsize=128;//读入缓冲区的大小
int main()
{
cout<<"请输入字符串(以\"@\")结尾"<<endl;
char buf[bufsize];
cin.getline(buf,bufsize,'@');
//cout<<endl<<buf<<endl;
int inputlen=strlen(buf);
//cout<<inputlen<<endl;
bool ok(true);
for(int i(0),j(inputlen-1);j>i;++i,--j)
{
if(buf[i]==buf[j])
continue;
else
{
ok=false;
break;
}
}
if(ok)
{
cout<<"字符串"<<buf<<"为回文。"<<endl;
cin.get();
}
else
{
cout<<"字符串"<<buf<<"不是回文。"<<endl;
cin.get();
}
return 0;
}
评论