从键盘输入一个字符串str和一个字符ch,从字符串中删除此字符,输出新的字符串。c++
时间: 2024-12-18 19:05:27 浏览: 7
以下是一个用C++编写的程序,可以从键盘输入一个字符串和一个字符,然后从字符串中删除该字符并输出新的字符串:
```cpp
#include <iostream>
#include <string>
using namespace std;
int main() {
string str;
char ch;
// 从键盘输入字符串和字符
cout << "请输入一个字符串: ";
getline(cin, str);
cout << "请输入一个要删除的字符: ";
cin >> ch;
// 删除指定字符
for (size_t i = 0; i < str.length(); ++i) {
if (str[i] == ch) {
str.erase(i, 1);
--i; // 调整索引,因为后续字符会向前移动
}
}
// 输出结果
cout << "删除字符后的字符串: " << str << endl;
return 0;
}
```
这个程序的工作原理如下:
1. 使用 `getline(cin, str)` 从键盘读取整行输入,包括空格。
2. 使用 `cin >> ch` 读取要删除的字符。
3. 使用 for 循环遍历字符串中的每个字符。
4. 当找到匹配的字符时,使用 `erase` 方法删除该字符。
5. 删除字符后,将索引 i 减 1,因为后续字符会向前移动。
6. 最后,输出修改后的字符串。
这个程序可以处理包含空格和特殊字符的字符串,并且会删除字符串中所有匹配的字符,而不仅仅是第一个出现的字符。
阅读全文