编写程序,用数组的方法删除字符串中的某个字符。(字符串、要删除的字符都由用户从键盘输入,有则删除——所谓删除就是后序的元素往前覆盖,无则提示“该字符不存在。”) 例如: 输入原始字符串:abcebacebaghbf 输入要删除的字符: b 删除以后的字符串:aceaceaghf c++
时间: 2024-02-12 16:05:17 浏览: 25
好的,以下是使用数组的方法来实现的 C++ 代码:
```c++
#include <iostream>
#include <cstring> // 使用 strlen() 函数
using namespace std;
int main() {
char str[100];
char c;
bool exist = false; // 标记要删除的字符是否存在
// 输入原始字符串
cout << "请输入原始字符串: ";
cin.getline(str, 100);
// 输入要删除的字符
cout << "请输入要删除的字符: ";
cin >> c;
// 遍历字符串数组,删除指定字符
int len = strlen(str);
for (int i = 0; i < len; i++) {
if (str[i] == c) {
exist = true; // 标记要删除的字符存在
for (int j = i; j < len - 1; j++) {
str[j] = str[j+1]; // 后续元素往前覆盖
}
str[len-1] = '\0'; // 将最后一个元素置为 '\0'
i--; // 删除后,下标需要减一
len--; // 字符串长度减一
}
}
// 输出结果
if (exist) {
cout << "删除以后的字符串: " << str << endl;
} else {
cout << "该字符不存在。" << endl;
}
return 0;
}
```
以上程序中,我们使用了字符数组(char array)来存储用户输入的字符串。在遍历字符数组时,如果遇到要删除的字符,就将后续元素往前覆盖,最后将最后一个元素置为 '\0',以表示字符串的结束。此外,我们还需要使用 `strlen()` 函数来获取字符串的长度,方便后面的遍历和删除。
希望对您有所帮助!