实验任务四

源代码

点击查看代码
#include <iostream>
#include <string>
#include <algorithm>

bool is_palindrome(const std::string &s);
bool is_palindrome_ignore_case(const std::string &s);

int main() {
   using namespace std;
    string s;

    // 多组输入,直到按下Ctrl+Z结束测试
    while(cin >> s) {
        cout << boolalpha 
             << "区分大小写: " << is_palindrome(s) << "\n"
             << "不区分大小写: " << is_palindrome_ignore_case(s) << "\n\n";
    }     
}


// 函数is_palindrome定义
// 待补足
// ×××
bool is_palindrome(const std::string &s)
{
    std::string temp = s;
    std::reverse(temp.begin(), temp.end());
    return temp == s;
}

// 函数is_palindrome_ignore_case定义
// 待补足
// ×××
bool is_palindrome_ignore_case(const std::string &s)
{
    std::string lower_s;
    // 全部转小写
    std::transform(s.begin(), s.end(), std::back_inserter(lower_s),
        [](char c){ return tolower(static_cast<unsigned char>(c)); });
    std::string rev = lower_s;
    std::reverse(rev.begin(), rev.end());
    return rev == lower_s;
}
![1792651639658](https://img2024.cnblogs.com/blog/3861693/202610/3861693-20261022144750212-1792429350.png) # 问题 用getline代替
posted @ 2026-10-22 14:49  d111kkk  阅读(2)  评论(0)    收藏  举报