代码解析:
在 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 人评分
数列 (C++代码)浏览:664 |
C语言程序设计教程(第三版)课后习题11.3 (C语言代码)浏览:1049 |
Biggest Number (C++代码)回溯法浏览:1613 |
2006年春浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:809 |
C语言训练-计算1977!* (C++代码)浏览:849 |
C语言程序设计教程(第三版)课后习题8.6 (C语言代码)浏览:531 |
【明明的随机数】 (C++代码)浏览:779 |
简单的a+b (C语言代码)浏览:685 |
C语言程序设计教程(第三版)课后习题6.5 (C++代码)浏览:449 |
C语言程序设计教程(第三版)课后习题8.8 (C语言代码)浏览:637 |