以下函数的功能是删除字符串s中的所有数字字符。例如,若输入字符串为“abcd1234efg567”,则删除数字字符后的字符串为“abcdefg”。请填空。 #include <stdio.h> void deleDigits(char *s) { int n = 0, i; for (i = 0; s[i]; i++) if ( ) s[n++] = s[i]; s[n] = ; } int main() { char str[80]; scanf("%s", str); deleDigits(str); printf("%s\n", str); return 0; }
时间: 2024-01-15 07:04:52 浏览: 23
好的,下面是实现这个功能的代码:
```
#include <stdio.h>
void deleDigits(char *s) {
int n = 0, i;
for (i = 0; s[i]; i++)
if (s[i] < '0' || s[i] > '9')
s[n++] = s[i];
s[n] = '\0';
}
int main() {
char str[80];
scanf("%s", str);
deleDigits(str);
printf("%s\n", str);
return 0;
}
```
这个程序定义了一个名为 `deleDigits` 的函数,它接收一个指向字符串的指针。在函数中,我们使用一个循环遍历字符串中的每个字符。如果当前字符不是数字字符,则将它复制到一个新的位置,并递增一个计数器 `n`。最后,我们在新的字符串末尾添加一个空字符,以表示新字符串的结束。
在 `main` 函数中,我们声明了一个字符数组 `str`,并使用 `scanf` 函数从标准输入中读取了一个字符串。然后,我们调用了 `deleDigits` 函数,将指向 `str` 的指针传递给了它。最后,我们打印出删除数字字符后的字符串。
相关问题
以下函数的功能是删除字符串s中的所有数字字符。例如,若输入字符串为“abcd1234efg567”,则删除数字字符后的字符串为“abcdefg”。请填空。
### 回答1:
def delete_digits(s):
"""
删除字符串s中的所有数字字符
"""
result = ""
for char in s:
if not char.isdigit():
result += char
return result
# 测试
print(delete_digits("abcd1234efg567")) # 输出:abcdefg
### 回答2:
以下是一个实现删除字符串中所有数字字符的函数的示例代码:
```python
def delete_digits(s):
result = ""
for char in s:
if not char.isdigit():
result += char
return result
s = "abcd1234efg567"
result = delete_digits(s)
print(result) # 输出:abcdefg
```
该函数的功能是使用一个空字符串`result`作为结果字符串,然后遍历输入字符串`s`中的每个字符。对于每个字符,如果它不是数字字符,则将其添加到结果字符串`result`中。最后,返回结果字符串`result`。
在示例代码中,输入字符串`s`为"abcd1234efg567",调用`delete_digits`函数后,删除其中的数字字符,结果字符串为"abcdefg"。
### 回答3:
以下是删除字符串s中所有数字字符的函数实现:
```python
def delete_digits(s):
result = ''
for char in s:
if not char.isdigit(): # 判断字符是否为数字
result += char # 非数字字符添加到结果字符串
return result
```
在该函数中,首先创建一个空字符串`result`用于存储删除数字字符后的结果。然后使用`for`循环遍历字符串`s`中的每个字符,使用`isdigit()`方法判断当前字符是否为数字。若不是数字字符,则将其添加到`result`字符串中。最后返回结果字符串`result`。
使用该函数可以实现删除字符串中所有数字字符的功能。例如,若输入字符串为"abcd1234efg567",则调用`delete_digits("abcd1234efg567")`函数后返回的结果为"abcdefg"。
python提取字符串中数字
可以使用正则表达式来提取字符串中的数字。具体实现可以使用re模块中的findall函数。
例如,要从字符串中提取数字,可以使用以下代码:
```python
import re
s = "abcd1234efg5678hijk"
nums = re.findall(r'\d+', s)
print(nums) # 输出 ['1234', '5678']
```
其中,r'\d+' 表示匹配一个或多个数字。findall函数会返回所有匹配的数字,以列表形式存储。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)