输入字符串删去空格后输出 c++
时间: 2023-12-30 21:01:15 浏览: 155
要实现这个功能,首先需要定义一个函数,函数的参数是一个字符串。然后在函数内部,使用循环遍历字符串的每一个字符,如果字符不是空格,就将它拼接到一个新的字符串中。最后返回这个新的字符串。
具体的代码可以这样写:
```python
def remove_space(input_str):
new_str = ""
for char in input_str:
if char != " ":
new_str += char
return new_str
input_str = "c "
output_str = remove_space(input_str)
print(output_str) # 输出结果为 c
```
这段代码首先定义了一个函数 remove_space,参数是一个字符串 input_str。接着在函数内部,通过循环遍历 input_str 中的每一个字符,判断是否为空格,如果不是空格就拼接到新的字符串 new_str 中。最后返回 new_str。
将字符串 "c " 传入 remove_space 函数,得到的输出结果就是 c,即去掉空格的字符串。
相关问题
c++输入一个字符串,最多80个字符,删去其中的字母,输出删除后的结果。 格式提醒: 输入1个字符串。 输出删除字母后的字符串,输出结果后回车换行。
以下是使用 C++ 编写的实现代码:
```cpp
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
char str[81]; // 定义一个字符数组,最多存放 80 个字符,加上 '\0' 占用 81 个字节
cin.getline(str, 81); // 从标准输入流中读取一行字符串,最多读取 81 个字符,包括 '\0',并存储到 str 中
int len = strlen(str); // 获取字符串长度
for (int i = 0; i < len; i++) {
if (!isalpha(str[i])) { // 如果 str[i] 不是字母,则输出
cout << str[i];
}
}
cout << endl; // 输出换行符
return 0;
}
```
这里使用了 C++ 中的 `cin.getline()` 函数来读取一行字符串,而不是普通的 `cin >>` 运算符,这是因为题目要求输入的字符串可能包含空格和其他特殊字符,`cin >>` 只能读取空格之前的字符串。
然后使用 `strlen()` 函数获取字符串长度,并使用 `isalpha()` 函数判断每个字符是否为字母,如果是字母则不输出,否则输出。最后输出一个换行符,保证格式正确。
c++如何删去字符串中的空格
在C++中删除字符串中的空格,可以采用多种方法。这里我们分享两种常见的做法:
1. **使用`std::remove_if`函数**:
C++标准库中的`<algorithm>`头文件提供了一个`std::remove_if`算法,配合`std::string::erase`可以删除特定字符。首先创建一个范围迭代器,指向待操作的字符串开始位置,然后查找空格并移除它们。
```cpp
#include <algorithm>
#include <string>
std::string removeSpaces(std::string str) {
str.erase(std::remove_if(str.begin(), str.end(), isspace), str.end());
return str;
}
```
这里的`isspace`是C++标准库中的函数,用于检查字符是否为空格。
2. **遍历并替换**:
另一种简单的方式就是遍历字符串,遇到空格就跳过或者替换成其他字符(如空字符`'\0'`)。
```cpp
std::string removeSpaces(std::string str) {
for (size_t i = 0; i < str.length(); ) {
if (str[i] == ' ') {
str.erase(i, 1);
} else {
++i;
}
}
return str;
}
```
在这个例子中,我们直接从字符串中移除了空格字符。
阅读全文