用gcc函数方法编写一个函数,将一个字符串中的元音字母按顺序逐个提取出来并写到一个新的字符串中;在main函数中调用这个函数,并输出新字符串。原始字符串由键盘输入。
时间: 2024-12-06 17:23:37 浏览: 15
php函数之子字符串替换#65279; str_replace
你可以使用GCC编写的C语言程序来实现这个功能。首先,我们需要创建一个函数`extract_vowels`,它接受一个字符串作为输入,遍历该字符串,只保留元音字母并将其添加到新的字符串中。下面是完整的代码示例:
```c
#include <stdio.h>
#include <string.h>
// 函数声明,用于提取元音字母
void extract_vowels(char *input_str, char *output_str);
int main() {
char input[100], output[100];
// 输入原始字符串
printf("请输入原始字符串: ");
fgets(input, sizeof(input), stdin);
input[strcspn(input, "\n")] = '\0'; // 移除换行符
// 调用提取元音字母的函数
extract_vowels(input, output);
// 输出结果
printf("提取后的元音字母字符串: %s\n", output);
return 0;
}
// 实现提取元音字母的函数
void extract_vowels(char *input_str, char *output_str) {
for (int i = 0; input_str[i] != '\0'; ++i) {
if (input_str[i] == 'a' || input_str[i] == 'e' ||
input_str[i] == 'i' || input_str[i] == 'o' || input_str[i] == 'u' ||
input_str[i] == 'A' || input_str[i] == 'E' ||
input_str[i] == 'I' || input_str[i] == 'O' || input_str[i] == 'U') {
output_str[strlen(output_str)] = input_str[i]; // 如果非空,则追加字符
output_str++; // 更新输出字符串指针
}
}
output_str[strcspn(output_str, "") - 1] = '\0'; // 确保结尾有'\0'
}
```
在这个程序中,用户在`main`函数中输入原始字符串,然后`extract_vowels`函数会处理并将结果存储在`output_str`数组中。最后,我们输出提取了元音字母的新字符串。
阅读全文