top1编程
← 返回题目
题解

逗号分割

1 条题解

  • 0
    @ 2026-8-5 10:29:40

    解题思路

    题目要求把英文逗号前面的内容输出,逗号本身和它后面的内容都不要。

    做法非常直接:

    1. 用 getline 把这一行读进来(因为里面可能有空格)。
    2. 从第0个字符开始,一个一个地输出,一旦遇到英文逗号 ',' 就立刻停下来。
    3. 最后输出一个换行。

    比如 "Hello everyone,welcome to code!",从头输出 "Hello everyone",碰到逗号就停,正好就是答案。

    参考代码

    // 逗号分割:输出字符串中第一个英文逗号之前的所有内容
    #include <iostream>
    #include <string>
    using namespace std;
    int main(){
        string s;
        getline(cin,s);        // 整行读入(可能含空格)
        for(int i=0;i<s.size()&&s[i]!=',';i++) cout<<s[i]; // 遇到逗号就停
        cout<<'\n';
        return 0;
    }
    

    复杂度分析

    • 时间复杂度:O(L),L 是字符串长度(不超过100)。我们最多从开头走到第一个逗号,也就是最多看L个字符。
    • 空间复杂度:O(L),用来存字符串。
    • 1