如何用C语言编写程序,以便按字母顺序输出一个字符串中的所有元音字母(即'a', 'e', 'i', 'o', 'u')?
时间: 2024-11-25 15:07:00 浏览: 19
在C语言中,你可以通过遍历字符串并检查每个字符是否是元音字母来实现这个功能。以下是一个简单的示例程序:
```c
#include <stdio.h>
#include <ctype.h> // 包含处理字符类型的库
// 定义元音字母数组
const char vowels[] = {'a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U'};
void print_vowels(char *str) {
while (*str != '\0') { // 遍历字符串直到遇到结束符
if (isalpha(*str)) { // 检查字符是否为字母
if ( strchr(vowels, *str) != NULL ) { // 判断字符是否在元音数组中
printf("%c", *str); // 如果是元音则打印
}
}
str++; // 移动到下一个字符
}
}
int main() {
char input[100]; // 用于存储用户输入的字符串
printf("Enter a string: ");
fgets(input, sizeof(input), stdin);
input[strlen(input)-1] = '\0'; // 去除fgets添加的换行符
print_vowels(input);
return 0;
}
```
在这个程序中,`print_vowels`函数接收一个字符串作为参数,然后逐个检查每个字符是否是元音。如果是,就调用`printf`打印出来。`isalpha`函数用于判断字符是否为字母,`strchr`函数用于查找字符在元音数组中的位置。
阅读全文