用c语言写一个函数,该函数从主程序接受一个字符串,将字符串中的数字和其它字符分开,形成二个字符串输出。
时间: 2024-03-15 07:46:42 浏览: 72
好的,以下是一个示例函数,可以实现你的要求:
```c
#include <stdio.h>
#include <ctype.h>
#include <string.h>
void separate_string(char *str, char *digits, char *others) {
int len = strlen(str);
int digit_idx = 0, other_idx = 0;
for (int i = 0; i < len; i++) {
if (isdigit(str[i])) {
digits[digit_idx++] = str[i];
} else {
others[other_idx++] = str[i];
}
}
digits[digit_idx] = '\0';
others[other_idx] = '\0';
}
int main() {
char str[100], digits[100], others[100];
printf("Input a string: ");
fgets(str, 100, stdin);
separate_string(str, digits, others);
printf("Digits: %s\n", digits);
printf("Others: %s\n", others);
return 0;
}
```
这个函数的功能是将输入的字符串 `str` 中的数字和其它字符分别提取出来,存放在 `digits` 和 `others` 两个字符串中。具体实现过程是遍历字符串中的每个字符,如果是数字就存放在 `digits` 中,否则就存放在 `others` 中。最后别忘了在 `digits` 和 `others` 的末尾加上字符串结束符 `\0`。
你可以在主函数中调用这个函数,并输出其返回的两个字符串来验证其正确性。
阅读全文