将一个字符串中的元音字母(a、e、i、o、u)复制到另一个字符串,然后按照ASCII码从小到大的顺序输出。用C语言
时间: 2024-10-22 13:06:57 浏览: 18
在C语言中,你可以通过遍历输入字符串并检查每个字符是否为元音字母,如果是,则添加到结果字符串中。接下来,对结果字符串中的字符进行排序后再输出。以下是一个简单的示例代码:
```c
#include <stdio.h>
#include <string.h>
#include <ctype.h> // 包含处理字符类型的函数
void copy_and_sort_vowels(char* input, char* output) {
int i = 0, j = 0; // 分别记录输入和输出字符串的指针位置
for (char c : input) { // 遍历输入字符串
if (isalpha(c) && (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u')) { // 检查是否为元音
output[j++] = c; // 如果是元音,将其添加到输出字符串
}
}
output[j] = '\0'; // 结束字符串
qsort(output, j, sizeof(char), strcmp); // 使用qsort对元音进行排序
printf("Sorted vowels: %s\n", output);
}
int main() {
char input[] = "Hello, AI!";
char output[50]; // 假设最多有五个元音
copy_and_sort_vowels(input, output);
return 0;
}
```
这个程序首先复制输入字符串中的元音字母到`output`数组,然后使用`qsort`函数根据ASCII值对这些字符进行排序。注意,这个示例假设输出字符串有足够的空间存放所有可能的元音。
阅读全文