2、写一个函数,实现将一个字符串中的元音字母复制到另一个字符串,然后输出该元音字符串。在 main 函数中输入字符串,元音字符串在main 中输出。即自己写一个 vowel函数,函数原型为 char* vowel(char str[]) 。
时间: 2024-03-09 20:44:26 浏览: 22
好的,以下是实现了上述要求的函数 `vowel` 的代码:
```c++
#include <iostream>
#include <cstring>
using namespace std;
char* vowel(char str[]) {
int len = strlen(str);
char* vowel_str = new char[len + 1];
int index = 0;
for (int i = 0; i < len; i++) {
if (str[i] == 'a' || str[i] == 'e' || str[i] == 'i' ||
str[i] == 'o' || str[i] == 'u' || str[i] == 'A' ||
str[i] == 'E' || str[i] == 'I' || str[i] == 'O' ||
str[i] == 'U') {
vowel_str[index++] = str[i];
}
}
vowel_str[index] = '\0';
return vowel_str;
}
int main() {
char str[100];
cout << "请输入一个字符串:" << endl;
cin.getline(str, 100);
char* vowel_str = vowel(str);
cout << "元音字符串为:" << vowel_str << endl;
delete[] vowel_str;
return 0;
}
```
这个函数的作用是将输入的字符串中的元音字母(包括大小写)复制到一个新的字符串中,并返回该字符串的指针。这个函数使用了动态内存分配,确保了返回的字符串不受栈空间的限制。在主函数中,我们调用这个函数并输出结果。注意,我们需要手动释放 `vowel_str` 所指向的内存,以免造成内存泄漏。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)