思路一:利用范围for语句遍历字符串,逐个输出非标点字符:
#include<iostream>
#include<string>
#include<cctype>
using namespace std;
int main()
{
string s;
cout << "请输入一个字符串,包含标点符号:" << endl;
getline(cin, s);
for (auto c : s)
{
if (!ispunct(c))
cout << c;
}
cout<<endl;
return 0;
}
思路二:利用传统for循环
#include<iostream>
#include<string>
#include<cctype>
using namespace std;
int main()
{
string s,result;
cout << "请输入一个字符串,包含标点符号:" << endl;
getline(cin, s);
for (decltype(s.size() i = 0; i < s.size();++i)
{
if (!ispunct(s[i]))
resulr+=s[i];
}
cout<<result<<endl;
return 0;
}