实验4
回答
用getline(cin,s)
代码
#include<iostream>
#include<string>
#include<algorithm>
#include<cctype>
bool is_palindrome(const std::string &s);
bool is_palindrome_ignore_case(const std::string &s);
int main(){
using namespace std;
string s;
while(cin>>s){
cout<<boolalpha
<<"区分大小写:"<<is_palindrome(s)<<"\n"
<<"不区分大小写: "<<is_palindrome_ignore_case(s)<<"\n\n";
}
}
bool is_palindrome(const std::string &s){
std::string s1(s.size(),' ');
reverse_copy(s.begin(),s.end(),s1.begin());
return s==s1;
}
bool is_palindrome_ignore_case(const std::string &s){
std::string s1;
std::string s2(s.size(),' ');
for(auto c:s)
s1+=std::tolower(c);
reverse_copy(s1.begin(),s1.end(),s2.begin());
return s2==s1;
}
截图


浙公网安备 33010602011771号