用c语言编写一个函数,将一个字符串中的元音字母按顺序逐个提取出来并写到一个新的字符串中;在main函数中调用这个函数,并输出新字符串。原始字符串由键盘输入 。
时间: 2024-12-12 08:18:46 浏览: 16
c代码-C语言编写一个函数,将一个字符串中的元音字母复制到另一字符串,然后输出
为了用C语言编写这样一个函数,我们首先需要定义一个函数`extract_vowels`,它接受一个字符串作为输入,遍历该字符串,查找并提取所有的元音字母(即'a', 'e', 'i', 'o', 'u'以及它们的大写形式),并将结果存储在一个新的字符串中。然后在`main`函数中获取用户输入,调用这个函数,并打印出新字符串。
下面是完整的代码示例:
```c
#include <stdio.h>
#include <ctype.h> // 包含处理字符类型的功能
// 函数声明
void extract_vowels(char *input_str, char *output_str);
int main() {
char input[100], output[100]; // 存储输入和输出字符串
printf("请输入一个字符串: ");
fgets(input, sizeof(input), stdin); // 防止换行符,使用fgets
input[strlen(input) - 1] = '\0'; // 清除fgets留下的换行符
// 调用提取元音的函数
extract_vowels(input, output);
printf("提取后的元音字符串是: %s\n", output);
return 0;
}
// 函数实现
void extract_vowels(char *input_str, char *output_str) {
int i = 0;
for (int j = 0; input_str[j] != '\0'; j++) {
char c = tolower(input_str[j]); // 转换为小写以便匹配
if (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u') {
output[i++] = c; // 将元音添加到输出字符串
}
}
output[i] = '\0'; // 添加结束符
}
```
当你运行这个程序时,它会提示你输入一个字符串,然后提取其中的所有元音字母并显示出来。
阅读全文