标签:cpp targe 字母 pac namespace 一个 mat tle 除了
符合题意的字符串,除了要是一个回文字符串,还必须由全部由 轴对称字母 组成。
以下是所有的轴对称字母:
AHIMOTUVWXY
这里介绍一个string类型操作,可以快速反转字符串。
string str;
reverse(str.begin(),str.end());
这样操作后的 \(str\) 就是一个水平翻转后的字符串了。
然后就可以愉快的与原来的字符串比较啦~
其实我就是为了做回文串的题而学会的操作。
代码:
#include<bits/stdc++.h>
using namespace std;
string a;
string str;
int main()
{
cin>>a; //使用string处理字符串题目更方便
for(int i=0;i<a.length();i++) //循环判断字符串中的每个字母是否为非轴对称字母
{
if(a[i]!=‘A‘&&a[i]!=‘H‘&&a[i]!=‘I‘&&a[i]!=‘M‘&&a[i]!=‘O‘&&a[i]!=‘T‘&&a[i]!=‘U‘&&a[i]!=‘V‘&&a[i]!=‘W‘&&a[i]!=‘X‘&&a[i]!=‘Y‘)
{
cout<<"NO"<<endl;
return 0;
}
}
str = a ; //用另一个string存一下翻转的字符串
reverse(str.begin(),str.end());
if(a!=str)
{
cout<<"NO"<<endl;
return 0;
}
cout<<"YES"<<endl; //如果能跑到这里,就一定是符合要求的字符串
return 0;
}
标签:cpp targe 字母 pac namespace 一个 mat tle 除了
原文地址:https://www.cnblogs.com/uyisnil/p/14723529.html