编写程序,删除字符串中的某个字符。(字符串、要删除的字符都由用户从键盘输入,有则删除——所谓删除就是后序的元素往前覆盖,无则提示“该字符不存在。”) 例如: 输入原始字符串:abcebacebaghbf 输入要删除的字符: b 删除以后的字符串:aceaceaghf C++用数组的方式
时间: 2024-02-15 11:03:33 浏览: 71
有一个字符串,内有若干个字符,今输入一个字符,要求程序将字符串中该字符删去。用外部函数实现。
好的,以下是 C++ 代码实现,使用字符数组来保存字符串:
```c++
#include <iostream>
#include <cstring>
using namespace std;
int main() {
// 定义字符数组存储字符串以及要删除的字符
char s[100], c;
cout << "请输入原始字符串:";
cin.getline(s, 100);
cout << "请输入要删除的字符:";
cin >> c;
// 判断要删除的字符是否在字符串中
bool found = false;
for (int i = 0; s[i] != '\0'; i++) {
if (s[i] == c) {
found = true;
// 将后面的字符往前覆盖
for (int j = i; s[j] != '\0'; j++) {
s[j] = s[j+1];
}
i--; // 因为这个位置的字符被删除了,所以 i 需要减一
}
}
// 输出结果
if (!found) {
cout << "该字符不存在。" << endl;
} else {
cout << "删除以后的字符串:" << s << endl;
}
return 0;
}
```
该程序使用 `cin.getline()` 函数从键盘输入字符串,并使用字符数组存储。程序中使用两个循环,第一个循环遍历整个字符串,查找要删除的字符,第二个循环将后面的字符往前覆盖。如果要删除的字符不存在,则输出提示信息。
阅读全文