输入一个字符串 str,再输入一个字符 c,将字符串 str 中出现的所有字符 c 删除。 要求定义并调用函数delchar(str,c), 它的功能是将字符串 str 中出现的所有 c 字符删除,函数形参str的类型是字符指针,形参c的类型是char,函数类型是void。
时间: 2023-05-18 16:05:48 浏览: 43
好的,我可以回答这个问题。以下是delchar函数的完整代码:
```c
void delchar(char* str, char c) {
int i, j;
for (i = 0, j = 0; str[i] != '\0'; i++) {
if (str[i] != c) {
str[j++] = str[i];
}
}
str[j] = '\0';
}
```
这个函数的实现很简单,它遍历字符串中的每个字符,如果当前字符不是要删除的字符c,就将它复制到新的字符串中。最后,将新的字符串末尾加上一个空字符'\0',表示字符串的结束。
你可以这样调用这个函数:
```c
char str[] = "hello, world!";
char c = 'l';
delchar(str, c);
printf("%s\n", str); // 输出 "heo, word!"
```
这个例子中,我们将字符串"hello, world!"中的所有字符'l'删除,得到了新的字符串"heo, word!"。
相关问题
输入一个字符串s,再输入一个字符c,将字符串s中出现的所有字符c删除,要求定义并调用函数delchar(s, c)。
### 回答1:
可以使用 Python 内置的字符串函数 `replace()` 来删除指定字符。具体实现如下:
```python
def delchar(s, c):
return s.replace(c, '')
```
这个函数接受两个参数,分别为字符串 `s` 和字符 `c`。函数返回删除指定字符后的新字符串。
下面是一个示例程序:
```python
s = input('请输入字符串:')
c = input('请输入要删除的字符:')
new_s = delchar(s, c)
print('删除后的字符串为:', new_s)
```
运行示例程序,你可以输入一个字符串和一个要删除的字符,程序将会输出删除指定字符后的新字符串。
### 回答2:
要实现删除字符串s中出现的所有字符c,可以定义并调用一个函数delchar(s, c)。
函数delchar(s, c)的实现思路如下:
1. 初始化一个空字符串result,用于保存删除字符c后的字符串。
2. 遍历字符串s中的每个字符:
- 如果当前字符不等于c,将该字符添加到result字符串中。
- 如果当前字符等于c,跳过该字符,不添加到result字符串中。
3. 返回result字符串,即为删除字符c后的结果。
以下是函数delchar(s, c)的具体实现:
def delchar(s, c):
result = ""
for char in s:
if char != c:
result += char
return result
示例调用及输出:
s = "Hello World"
c = "o"
print(delchar(s, c))
# 输出:Hell Wrld
在这个例子中,输入的字符串s为"Hello World",字符c为"o"。调用函数delchar(s, c)之后,返回的字符串为"Hell Wrld",即将字符串s中的所有字符"o"删除了。
### 回答3:
要实现删除字符串s中出现的所有字符c的操作,可以定义一个函数delchar(s, c),其中s为输入的字符串,c为要删除的字符。
具体实现步骤如下:
1. 首先定义一个空字符串new_str,用来存储删除字符c之后的字符串。
2. 遍历字符串s中的每一个字符:
- 如果字符与要删除的字符c相等,则跳过该字符,不加入到new_str中;
- 如果字符与要删除的字符c不相等,则将该字符加入到new_str中。
3. 返回new_str作为删除字符c之后的字符串。
代码如下所示:
```python
def delchar(s, c):
new_str = "" # 定义空字符串new_str,用来存储删除字符c之后的字符串
for char in s:
if char != c: # 如果字符与要删除的字符c不相等,则将该字符加入到new_str中
new_str += char
return new_str
# 主程序
s = input("请输入一个字符串:")
c = input("请输入一个字符:")
result = delchar(s, c)
print("删除字符c后的字符串为:", result)
```
使用上述代码,可以输入一个字符串s和字符c,然后调用函数`delchar(s, c)`将字符串s中出现的字符c删除,并输出删除字符c之后的字符串。
删除字符: 输入一个字符串,再输入一个字符 ch,将字符串中所有的 ch 字符删除后输 出该字符串。要求定义和调用函数 delchar(s,c),该函数将字符串 s 中出现的所有 c 字符 删除。试编写相应程序。
### 回答1:
题目:删除字符:输入一个字符串,再输入一个字符 ch,将字符串中所有的 ch 字符删除后输出该字符串。要求定义和调用函数 delchar(s,c),该函数将字符串 s 中出现的所有 c 字符删除。试编写相应程序。
解答:
```python
def delchar(s, c):
"""
删除字符串 s 中出现的所有 c 字符
:param s: 字符串
:param c: 要删除的字符
:return: 删除后的字符串
"""
res = ''
for ch in s:
if ch != c:
res += ch
return res
string = input('请输入一个字符串: ')
char = input('请输入要删除的字符: ')
new_string = delchar(string, char)
print('删除后的字符串为:', new_string)
```
程序执行过程如下:
```
请输入一个字符串: hello python
请输入要删除的字符: o
删除后的字符串为: hell pythn
```
### 回答2:
实现思路:
1. 遍历字符串s中的每个字符,判断是否与待删除的字符c相等。
2. 如果相等,则将该字符删除,即不将该字符添加到新的字符串中。
3. 最后返回新的字符串。
编写代码如下:
```python
def delchar(s, c):
new_str = ""
for i in range(len(s)):
if s[i] != c:
new_str += s[i]
return new_str
if __name__ == "__main__":
s = input("请输入字符串:")
ch = input("请输入待删除的字符:")
new_s = delchar(s, ch)
print("删除后的字符串为:", new_s)
```
运行示例:
输入字符串:hello world
待删除的字符:o
删除后的字符串为:hell wrld
### 回答3:
你好!以下是我编写的回答:
```python
def delchar(s, ch):
new_string = ""
for char in s:
if char != ch:
new_string += char
return new_string
input_string = input("请输入一个字符串:")
target_char = input("请输入一个字符 ch:")
result = delchar(input_string, target_char)
print("删除字符后的字符串为:", result)
```
这段代码中,我定义了一个名为`delchar`的函数,它有两个参数:`s`表示要操作的字符串,`ch`表示要删除的字符。在函数体内,我使用一个循环遍历字符串`s`中的每个字符,如果当前字符不等于要删除的字符`ch`,则将该字符添加到`new_string`中。最后,函数返回新的字符串`new_string`。
在主程序中,我先分别输入一个字符串和一个要删除的字符。然后,我调用`delchar`函数,将输入的字符串和字符作为参数传入,并将返回的结果保存在`result`变量中。最后,打印出删除字符后的字符串。
阅读全文