【C++ Primer Plus习题】16.2
国中之林 2024-10-01 13:35:00 阅读 74
大家好,这里是国中之林!
❥前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。有兴趣的可以点点进去看看←
问题:
解答:
main.cpp
<code>#include <iostream>
#include <string>
#include <cctype>
using namespace std;
bool palindromic(string& s);
int main()
{ -- -->
string st;
cout << "Enter the string to test: ";
getline(cin, st);
cout << "String " << st << " is ";
if (palindromic(st))
{
cout << "a palindromic string. " << endl;
}
else
{
cout << "not a palindromic string." << endl;
}
return 0;
}
bool palindromic(string& s)
{
auto phead = s.begin();
auto ptail = s.end();
while (ptail>phead)
{
if (!isalpha(*phead))
{
phead++;
continue;
}
if (!isalpha(*(ptail-1)))
{
ptail--;
continue;
}
if (toupper(*phead) == toupper(*(ptail-1)))
{
phead++;
ptail--;
}
else
{
return false;
}
}
return true;
}
运行结果:
考查点:
迭代器cctype函数
注意:
迭代器end()不是最后一个,是最后一个的下一个位置.
2024年9月13日21:38:06
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。