字符串分类排序c语言
时间: 2023-06-21 19:14:30 浏览: 97
以下是一个字符串分类排序的C语言示例代码,可以将输入字符按照字母、数字、其他符号三类分别排序输出:
```c
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
#define MAX_LENGTH 100
int main() {
char str[MAX_LENGTH], letter[MAX_LENGTH], digit[MAX_LENGTH], symbol[MAX_LENGTH];
int l = 0, d = 0, s = 0;
int i;
// 读入字符串
printf("请输入字符串:\n");
fgets(str, MAX_LENGTH, stdin);
str[strlen(str) - 1] = '\0'; // 去掉换行符
// 分类排序
for (i = 0; str[i] != '\0'; i++) {
if (isalpha(str[i])) {
letter[l++] = str[i];
} else if (isdigit(str[i])) {
digit[d++] = str[i];
} else {
symbol[s++] = str[i];
}
}
letter[l] = '\0';
digit[d] = '\0';
symbol[s] = '\0';
// 输出结果
printf("字母:%s\n", letter);
printf("数字:%s\n", digit);
printf("其他符号:%s\n", symbol);
return 0;
}
```
在这个示例中,我们使用了三个字符数组来保存分别属于字母、数字和其他符号的字符,并使用了 isalpha()、isdigit() 函数来判断字符属于哪一类。最后输出结果即可。
需要注意的是,这里使用了 fgets() 函数来读入字符串,并且在最后把换行符替换成了字符串结束符,这样可以避免换行符影响后续处理。同时,为了避免数组越界,我们定义了 MAX_LENGTH 常量来限制输入字符串长度。
阅读全文