一只猪


私信TA

用户名:TuT99

访问量:6732

签 名:

拥有良好的积累,并且一直在路上,我相信自己有无限的可能

等  级
排  名 74
经  验 9602
参赛次数 6
文章发表 66
年  龄 21
在职情况 学生
学  校 哔哩哔哩大学
专  业 计算机科学与技术

  自我简介:

TA的其他文章

简单又实用
浏览:133
简单又实用
浏览:34
简单又实用
浏览:80

代码解析:

在 main 函数中,首先声明一个字符串变量 sentence,用于存储输入的整行句子。使用 getline(cin, sentence) 函数读取一行用户输入,并将其存储在 sentence 中。

接下来,声明一个布尔变量 space,用于表示当前是否已经遇到连续空格。我们还声明一个字符串变量 filtered_sentence,用于存储过滤后的字符串。

然后,使用一个循环遍历字符串 sentence 中的每个字符。对于每个字符 c,如果它是一个空格字符,则检查上一个字符是否也是空格字符。如果上一个字符是空格字符,则将 space 设置为 true,表示遇到了连续空格。否则,将 space 设置为 false,表示不是连续空格,并将字符 c 添加到 filtered_sentence 中。

通过以上方式,可以从输入字符串中去除连续的空格。空格字符只会被保留一次,其他的连续空格字符会被过滤掉。最后,我们通过 cout 输出过滤后的字符串 filtered_sentence。


参考代码:

#include <iostream>

#include <string>

using namespace std;


int main() {

    string sentence;

    getline(cin, sentence);


    bool space = false;

    string filtered_sentence = "";

    for (char c : sentence) {

        if (c == ' ') {

            if (!space) {

                space = true;

                filtered_sentence += c;

            }

        } else {

            space = false;

            filtered_sentence += c;

        }

    }


    cout << filtered_sentence << endl;


    return 0;

}


 

0.0分

18 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区