用c语言写.写一个函数,该函数从主程序接受一个字符串,将字符串中的数字和其它字符分开,形成二个字符串输出。
时间: 2024-03-16 11:41:54 浏览: 130
好的,以下是该函数的代码实现:
```c
#include <stdio.h>
#include <string.h>
void separate_string(char *str, char *num_str, char *char_str) {
int len = strlen(str);
int num_count = 0, char_count = 0;
for (int i = 0; i < len; i++) {
if (isdigit(str[i])) {
num_str[num_count++] = str[i];
} else {
char_str[char_count++] = str[i];
}
}
num_str[num_count] = '\0';
char_str[char_count] = '\0';
}
int main() {
char str[100], num_str[100], char_str[100];
printf("请输入一个字符串:");
scanf("%s", str);
separate_string(str, num_str, char_str);
printf("数字字符串:%s\n", num_str);
printf("字符字符串:%s\n", char_str);
return 0;
}
```
函数 `separate_string` 接受一个字符串 `str`,并将其中的数字和其他字符分别存储到 `num_str` 和 `char_str` 两个字符串中,最后输出这两个字符串。
在函数中,我们首先获取字符串的长度 `len`,然后遍历字符串中的每个字符。如果当前字符是数字,就将其存储到 `num_str` 中;否则就存储到 `char_str` 中。最后,为了保证输出的字符串以 `\0` 结尾,我们在两个字符串的末尾添加了一个空字符。
在主函数中,我们首先获取用户输入的字符串 `str`,然后调用 `separate_string` 函数,将字符串中的数字和其他字符分离并存储到 `num_str` 和 `char_str` 中。最后,输出这两个字符串即可。
阅读全文