对输入的字符串,按顺序提取数字字符输出,再提取字母字符输出。 输入 输入字符串(串中可包含空格) 输出 提取的系列数字字符 提取的系列字母字符,数字字母各占一行,使用c语言
时间: 2024-02-18 11:04:58 浏览: 153
好的,以下是对应的C语言代码:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char string[100];
char digits[100];
char letters[100];
int digit_count = 0;
int letter_count = 0;
printf("请输入字符串:");
fgets(string, 100, stdin);
for (int i = 0; string[i] != '\0'; i++) {
if (isdigit(string[i])) {
digits[digit_count] = string[i];
digit_count++;
} else if (isalpha(string[i])) {
letters[letter_count] = string[i];
letter_count++;
}
}
printf("提取的系列数字字符:%s\n", digits);
printf("提取的系列字母字符:%s\n", letters);
printf("数字字母:%s%s\n", digits, letters);
return 0;
}
```
这段代码会先定义三个字符数组 `string`、`digits` 和 `letters`,以及两个计数器 `digit_count` 和 `letter_count`。然后让用户输入一个字符串,使用 `fgets` 函数获取输入。接着遍历这个字符串中的每个字符,如果这个字符是数字,就将它添加到 `digits` 数组中;如果这个字符是字母,就将它添加到 `letters` 数组中。最后输出这两个数组,以及它们的合并结果。
需要注意的是,在C语言中,字符串必须以 null 字符(`\0`)结尾,所以在定义字符数组时要多留一个空间来存储 null 字符。另外,使用 `fgets` 函数获取输入时,它会在字符串末尾自动添加一个换行符,所以在输出时需要使用 `\n` 换行符来避免输出格式上的问题。
阅读全文