用C++编写从一个字符串中删除所有同一个给定字符后得到一个新字符串并输出。 指导:需要将原始字符串存放到一个字符数组 str1 中,将得到的新字符串存放到另外一 个字符数组 str2 中。需要将字符串由 main()函数传递给 delstr()函数,所以采用传地址调用。 在 delstr()函数中采用指针处理字符串,逐个字符判断字符串中的字符是否是待删除的字符, 若不是,将其存放到 str2 中。
时间: 2024-02-24 14:58:01 浏览: 79
C语言程序设计-从字符串中删除指定的字符;同一字母的大、小写 按不同字符处理;
5星 · 资源好评率100%
好的,我会尽力回答你的问题。
以下是用 C++ 编写从一个字符串中删除所有同一个给定字符后得到一个新字符串的代码:
```cpp
#include <iostream>
using namespace std;
void delstr(char *str1, char c, char *str2)
{
int i = 0;
int j = 0;
while (str1[i] != '\0') // 遍历原始字符串
{
if (str1[i] != c) // 判断字符是否为待删除的字符
{
str2[j] = str1[i]; // 将字符存放到新字符串中
j++;
}
i++;
}
str2[j] = '\0'; // 在新字符串末尾添加结束符
}
int main()
{
char str1[100]; // 原始字符串
char str2[100]; // 新字符串
char c; // 待删除的字符
cout << "请输入原始字符串:";
cin >> str1;
cout << "请输入待删除的字符:";
cin >> c;
delstr(str1, c, str2); // 调用删除函数
cout << "新字符串为:" << str2;
return 0;
}
```
这里定义了一个 `delstr` 函数,该函数接受三个参数:原始字符串 `str1`、待删除的字符 `c` 和新字符串 `str2`。在函数中,使用指针处理字符串,逐个字符判断字符串中的字符是否是待删除的字符,若不是,则将其存放到新字符串中。最后,在新字符串末尾添加结束符。
在 `main` 函数中,首先输入原始字符串和待删除的字符,并调用 `delstr` 函数,将得到的新字符串存放到 `str2` 中,最后输出新字符串。
希望能对你有所帮助!
阅读全文