c++编写程序,用数组方式,删除字符串中的某个字符。(字符串、要删除的字符都由用户从键盘输入,有则删除——所谓删除就是后序的元素往前覆盖,无则提示“该字符不存在。”) 例如: 输入原始字符串:abcebacebaghbf 输入要删除的字符: b 删除以后的字符串:aceaceaghf
时间: 2024-02-19 14:57:46 浏览: 94
好的,下面是代码实现:
```c++
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
char str[100], ch;
cout << "请输入原始字符串:";
cin >> str;
cout << "请输入要删除的字符:";
cin >> ch;
int len = strlen(str);
int i = 0, j = 0;
bool flag = false;
while (i < len) {
if (str[i] == ch) {
flag = true;
i++;
} else {
str[j] = str[i];
i++;
j++;
}
}
str[j] = '\0';
if (flag) {
cout << "删除以后的字符串:" << str << endl;
} else {
cout << "该字符不存在。" << endl;
}
return 0;
}
```
在这个程序中,我们使用了一个字符数组 `str` 来存储用户输入的字符串,并使用 `cin` 来获取用户输入的要删除的字符。然后我们使用一个循环遍历整个字符串,如果当前字符等于要删除的字符,我们就将 `flag` 标记为 `true`,表示该字符存在,同时让 `i++`,跳过该字符。如果当前字符不等于要删除的字符,我们就将该字符复制到 `str` 的前面,并让 `i++` 和 `j++`,继续遍历下一个字符。最后,我们添加一个字符串结束符 `\0`,并根据 `flag` 的值输出相应的结果。
阅读全文