//判断字符串是否是回文字符串(考虑大小写,空格和标点符号)
bool palindrome1(string& str) {
string ret;
for (auto& c : str) {
if (isalpha(c)) {
if (isupper(c)) {
ret.push_back(tolower(c));
}
else {
ret.push_back(c);
}
}
}
string target(ret.rbegin(), ret.rend());//翻转字符串
return target == ret;
}
#include <iostream>
#include <string>
using namespace std;
int main() {
string str;
cout << "请输入一串字符(按'q'结束):";
while (getline(cin, str) && str != "q") {
if (palindrome1(str)) {
cout << "该字符串是回文字符串!\n";
}
else {
cout << "该字符串不是回文字符串!\n";
}
}
return 0;
}
分类:
C++基础第一卷
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战