实验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;
	
}

截图

屏幕截图 2026-10-22 140256

posted @ 2026-10-22 14:12  2699(  阅读(2)  评论(0)    收藏  举报