以下是一个不使用C字符串函数从C字符串中删除元音字母的示例代码:
#include
// 函数:判断一个字符是否为元音字母
bool isVowel(char c) {
c = tolower(c); // 将字符转换为小写字母
return (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u');
}
// 函数:从C字符串中删除元音字母
void removeVowels(char* str) {
int len = strlen(str);
int index = 0; // 记录非元音字母的索引位置
for (int i = 0; i < len; i++) {
if (!isVowel(str[i])) {
str[index] = str[i];
index++;
}
}
str[index] = '\0'; // 添加字符串结束符
}
int main() {
char str[100];
std::cout << "请输入一个字符串:";
std::cin.getline(str, 100);
removeVowels(str);
std::cout << "删除元音字母后的字符串为:" << str << std::endl;
return 0;
}
这段代码定义了一个isVowel
函数,用于判断给定的字符是否为元音字母。然后定义了removeVowels
函数,用于从给定的C字符串中删除元音字母。最后在main
函数中,用户可以输入一个字符串,并调用removeVowels
函数进行处理,并输出结果。