#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;

}

看来下标是很重要的,课本之前没有重点说明,但是习题直接给我们上了一记深刻的课程.越来越爱这本书

最后修改:2022 年 12 月 05 日
如果觉得我的文章对你有用,请随意赞赏