|
发表于 2021-4-17 18:58:34
|
显示全部楼层
- #include<stdio.h>
- #include <ctype.h>
-
- enum type {
- DIGIT,
- ALPHA,
- OTHER
- };
-
- char *get_substr(char *str, char *substr, int op);
-
- int main()
- {
- char str[128], substr[128];
-
- scanf("%s", str);
-
- printf("%s\n", get_substr(str, substr, DIGIT));
- printf("%s\n", get_substr(str, substr, ALPHA));
- printf("%s\n", get_substr(str, substr, OTHER));
-
- return 0;
- }
-
- char *get_substr(char *str, char *substr, int op)
- {
- char *tmp = substr;
- switch (op) {
- case DIGIT:
- while (*str) {
- if (isdigit(*str))
- *tmp++ = *str++;
- else
- str++;
- }
- break;
-
- case ALPHA:
- while (*str) {
- if (isalpha(*str))
- *tmp++ = *str++;
- else
- str++;
- }
- break;
-
- case OTHER:
- while (*str) {
- if (isalpha(*str) || isdigit(*str))
- str++;
- else
- *tmp++ = *str++;
- }
- break;
- }
- *tmp = 0;
-
- return substr;
- }
复制代码 |
|