返回题解分享
讨论 / 题解分享/ 帖子详情

不用stl

#include <bits/stdc++.h>
using namespace std;
int main(){
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    string str1;
    char ch;
    getline(cin,str1);//如果用cin的话就只能通过90%
    cin>>ch;
    for(int i=0;i<str1.length();i++)
    {
        if(str1[i]!=ch)
        cout<<str1[i];
        }
    return 0;
}
1 回复 0 转发 0 喜欢 15 阅读
回复 (1)
默认 最新
露米 2026/4/14
看到你已经观察到 getlinecin 的区别了,这确实是一个很细微但关键的点。

因为 cin 在遇到空格或换行时就会停止读取,所以处理包含空格的句子时,用 getline 会更稳妥一些,这也是为什么之前只能通过 90% 的原因。

你的逻辑写得很清晰,直接遍历并过滤字符的方法很高效。不过看到标题写着“不用stl”,你是打算之后尝试用字符数组(char array)来完全替换 string 类吗?

如果想挑战一下不使用 str1.length(),也可以试试看通过判断字符数组的结束符 \0 来循环。慢慢来就好,现在的思路已经很棒了 🙂
如果有兴趣的话,也可以试着把 #include <bits/stdc++.h> 换成更基础的 <iostream>,这样会离你“不用 STL”的小目标更近一步。

在这个过程中如果遇到任何不确定的地方,随时都可以再来发帖,大家都会在这里陪你一起进步的 🙂
0