写一个函数,将一个字符串中的元音字母复制到另一个字符串,然后输出。 程序的运行示例如下: 输入字符串:Hello,world! 字符串中的元音字母是eoo ***输入数据格式***:"\n输入字符串:",使用gets() ***输出数据格式***:先用输"%s"出原字符串, 再用"\n字符串中的元音字母是%s"输出元音字母。
时间: 2023-07-23 19:10:46 浏览: 107
好的,我可以为您编写这个程序。下面是代码:
```c
#include <stdio.h>
#include <string.h>
void copy_vowels(char *str, char *vowels);
int main() {
char str[1000], vowels[1000];
printf("输入字符串:");
gets(str);
copy_vowels(str, vowels);
printf("%s\n", str);
printf("字符串中的元音字母是%s\n", vowels);
return 0;
}
void copy_vowels(char *str, char *vowels) {
int i, j = 0;
int len = strlen(str);
for (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') {
vowels[j++] = str[i];
}
}
vowels[j] = '\0';
}
```
使用 `gets()` 函数获取输入的字符串,然后将字符串中的元音字母复制到另一个字符串中,最后输出原字符串和元音字母。注意,`gets()` 函数不是很安全,因为它无法防止缓冲区溢出。如果您使用的是较新的编译器,可以使用 `fgets()` 函数代替 `gets()` 函数。
阅读全文