在C语言中写一个函数,将一个字符串中的元音字母复制到另一字符串,然后输出
时间: 2024-12-24 10:36:02 浏览: 27
在C语言中,你可以创建一个名为`copy_vowels`的函数来实现这个功能。以下是一个简单的示例:
```c
#include <stdio.h>
#include <string.h>
// 函数声明
void copy_vowels(char* vowels_str, char* input);
int main() {
char input_str[] = "Hello, World!";
char vowels_str[10]; // 存储元音的缓冲区
// 初始化元音字符串,这里只考虑a、e、i、o、u(大小写)
strcpy(vowels_str, "aeiouAEIOU");
copy_vowels(vowels_str, input_str);
printf("Copied vowels from '%s': %s\n", input_str, vowels_str);
return 0;
}
// 实现函数,遍历输入字符串,如果字符是元音,则添加到vowels_str
void copy_vowels(char* vowels_str, char* input) {
int i, j;
for (i = 0; input[i] != '\0'; i++) {
if (strchr(vowels_str, input[i])) { // 检查当前字符是否在元音列表中
vowels_str[strlen(vowels_str)] = input[i]; // 如果是,添加到vowels_str
vowels_str[strlen(vowels_str)+1] = '\0'; // 更新字符串结束符
}
}
}
```
在这个例子中,我们首先创建了一个用于存储元音的临时字符串`vowels_str`。然后在`copy_vowels`函数中,通过`strchr`检查输入字符串中的每个字符是否在元音字符串中,如果是就将其添加到结果。
注意,由于`vowels_str`是固定的,所以这种方法限制了能处理的最大元音数。如果你需要支持更多元音或其他需求,可能需要调整这个结构。
阅读全文