用C实现:描述 输入一串字符(字符串长度不超过200),从中挑选出小写字母a-z,其余字符剔除,并对挑选出的字符进行a-z的排序,输出排序后的字符串,如果没有挑选出任何有效字符,则输出error。 输入描述 df98cfs!@ 输出描述 cdffs
时间: 2024-02-16 13:01:50 浏览: 72
具体实现:
```c
#include <stdio.h>
#include <ctype.h>
#include <string.h>
// 比较函数用于字符串排序
int cmp(const void *a, const void *b) {
return *(char *)a - *(char *)b;
}
int main() {
char s[201];
char t[201];
int i, j, n = 0;
// 读入字符串
scanf("%s", s);
// 挑选小写字母 a-z
for (i = 0; s[i] != '\0'; i++) {
if (islower(s[i])) {
t[n++] = s[i];
}
}
// 如果没有挑选出任何有效字符,则输出 error
if (n == 0) {
printf("error\n");
return 0;
}
// 对挑选出的字符进行 a-z 的排序
qsort(t, n, sizeof(char), cmp);
// 输出排序后的字符串
for (i = 0; i < n; i++) {
printf("%c", t[i]);
}
printf("\n");
return 0;
}
```
注意事项:
1. 本实现使用了标准库函数 `islower` 判断字符是否为小写字母,如果需要自己实现一个判断函数,可以参考 ASCII 码表。
2. 本实现使用了标准库函数 `qsort` 对字符串进行排序,详细说明请参考 C 语言标准库文档。
阅读全文