对输入的字符串, 按顺序提取数字字符输出,再提取字母字符输出。 输入 输入字符串(串中可包含空格) 输出 提取的系列数字字符 提取的系列字母字符使用C语言
时间: 2024-02-17 11:01:18 浏览: 113
C++中带空格字符串的输入问题解决
好的,以下是一种可能的解决方案:
```c
#include <stdio.h>
#include <ctype.h> // 使用isalpha和isdigit函数
int main() {
char str[100];
fgets(str, 100, stdin); // 输入字符串,使用fgets函数可以读入含有空格的字符串
int num_count = 0, alpha_count = 0; // 分别记录数字字符和字母字符的个数
char num_str[100], alpha_str[100]; // 分别存储数字字符和字母字符
// 按顺序提取数字字符和字母字符
for (int i = 0; str[i] != '\0'; i++) {
if (isdigit(str[i])) {
num_str[num_count++] = str[i];
} else if (isalpha(str[i])) {
alpha_str[alpha_count++] = str[i];
}
}
// 输出提取的数字字符
printf("Num: ");
for (int i = 0; i < num_count; i++) {
printf("%c", num_str[i]);
}
printf("\n");
// 输出提取的字母字符
printf("Alpha: ");
for (int i = 0; i < alpha_count; i++) {
printf("%c", alpha_str[i]);
}
printf("\n");
return 0;
}
```
输入示例:
```
Abc123 456Def
```
输出示例:
```
Num: 123456
Alpha: AbcDef
```
阅读全文