写一个c语言,该函数从主程序接受一个字符串,将字符串中的数字和其它字符分开,形成二个字符串输出。
时间: 2024-02-15 12:01:53 浏览: 52
c用c语言编写一个函数,连接两个字符串
4星 · 用户满意度95%
以下是一个示例的C语言代码,用于将字符串中的数字和非数字字符分别提取到两个不同的字符串中:
```c
#include <stdio.h>
#include <string.h>
#include <ctype.h>
void split_string(char *str, char *digits, char *non_digits) {
int i, j, k;
// 初始化两个字符串
memset(digits, 0, strlen(str)); // 数字字符串
memset(non_digits, 0, strlen(str)); // 非数字字符串
// 将数字和非数字字符分别存储到两个字符串中
for (i = 0, j = 0, k = 0; i < strlen(str); i++) {
if (isdigit(str[i])) {
digits[j++] = str[i];
} else {
non_digits[k++] = str[i];
}
}
}
int main() {
char str[100], digits[100], non_digits[100];
// 从主程序接受一个字符串
printf("Enter a string: ");
scanf("%s", str);
// 将字符串中的数字和非数字字符分别提取到两个不同的字符串中
split_string(str, digits, non_digits);
// 输出两个字符串
printf("Digits: %s\n", digits);
printf("Non-digits: %s\n", non_digits);
return 0;
}
```
在上面的代码中,首先定义了一个名为 split_string 的函数,用于将字符串中的数字和非数字字符分别提取到两个不同的字符串中。该函数接受三个参数:一个输入字符串 str,和两个用于存储数字和非数字字符的输出字符串 digits 和 non_digits。
在函数内部,使用了循环遍历输入字符串 str 中的每个字符。如果该字符是数字,就将其存储到数字字符串 digits 中,否则存储到非数字字符串 non_digits 中。
在主函数中,首先从主程序接受一个字符串,然后调用 split_string 函数将该字符串中的数字和非数字字符分别提取到两个不同的字符串中。最后,输出两个字符串的值。
需要注意的是,上面的代码中使用了字符串函数 strlen() 和字符函数 isdigit(),需要包含头文件 string.h 和 ctype.h。另外,如果输入的字符串中含有空格,则只会读取空格前面的部分,可以使用 gets() 函数来读取整个字符串。
阅读全文