用C语言编写一个函数,该函数从主程序接受一个字符串,将字符串中的数字与其他字符分开,形成二个字符串输出
时间: 2024-03-16 07:41:46 浏览: 56
好的,下面是代码实现:
```c
#include <stdio.h>
#include <ctype.h>
#include <string.h>
void separate(char* str, char* nums, char* others) {
int i, j, k;
j = k = 0;
for (i = 0; i < strlen(str); i++) {
if (isdigit(str[i])) {
nums[j++] = str[i];
} else {
others[k++] = str[i];
}
}
nums[j] = '\0';
others[k] = '\0';
}
int main() {
char str[100], nums[100], others[100];
printf("请输入一段字符串:");
scanf("%s", str);
separate(str, nums, others);
printf("数字字符串:%s\n", nums);
printf("其他字符字符串:%s\n", others);
return 0;
}
```
在这个程序中,我们定义了一个名为 `separate` 的函数,接受一个字符串 `str` 和两个指向字符数组的指针 `nums` 和 `others`。函数会遍历字符串中的每个字符,如果是数字则将其放入 `nums` 数组中,否则放入 `others` 数组中。遍历完成后,我们在 `nums` 和 `others` 数组末尾加上字符串结束符 `\0`。
在主函数中,我们首先从用户输入中获取一个字符串 `str`,然后调用 `separate` 函数将数字和其他字符分离,最后输出分离后的结果。
阅读全文