#include<iostream>
#include<string>
using namespace std;
int main() {
string s1("hello,world!!!");
string s2;
for (auto i = 0;i < s1.size();i++) { //以下在循环体内的必须包含在花括号内
if (!ispunct(s1[i])) //如果s1的第i位不是标点符号,难点就在这 !ispunct(s1[i])
s2 += s1[i]; //s2就添加这个字符进来
}
cout << s2 << endl;
return 0;
}
这道题目可以说在string小结是卡住了最少1小时左右的,都有思路,但是没想到我们没有学习remove,也有解决答案 用add.
而且下标我们都不是很熟悉,所以一直卡住,搜索之后才有了答案,以下为好友槿珂的答案:
#include<iostream>
#include<string>
using namespace std;
int main() {
string s1("hello,world!!!");
string s2;
for (auto i = 0;i < s1.size();i++) { //以下在循环体内的必须包含在花括号内
if (isalnum(s1[i])) //如果s1的第i位是字母或数字时为真,难点就在这 isalnum(s1)[i]
s2 += s1[i]; //s2就添加这个字符进来
}
cout << s2 << endl;
return 0;
}
看来下标是很重要的,课本之前没有重点说明,但是习题直接给我们上了一记深刻的课程.越来越爱这本书