【C++练习】19.判断一个字符是元音还是辅音
·
目录
-
- 方法1:使用if-else语句
- 方法2:使用switch-case语句
- 方法3:使用函数封装
- 方法4:使用数组
- 方法5:使用字符串
在C++中,判断一个字符是元音还是辅音的方法有多种,以下是几种常见的方法及其思路和代码示例:
方法1:使用if-else语句
思路:通过if-else语句逐一判断字符是否为元音字母(a、e、i、o、u),如果不是元音且为字母,则为辅音。
代码示例:
#include <iostream>
using namespace std;
int main() {
char ch;
cout << "请输入一个字符:";
cin >> ch;
// 判断是否为元音
if (ch == 'a' || ch == 'e' || ch == 'i' || ch == 'o' || ch == 'u' ||
ch == 'A' || ch == 'E' || ch == 'I' || ch == 'O' || ch == 'U') {
cout << ch << " 是元音字母。" << endl;
}
// 判断是否为辅音
else if ((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z')) {
cout << ch << " 是辅音字母。" << endl;
}
// 不是字母
else {
cout << ch << " 不是字母。" << endl;
}
return 0;
}
代码含义:
- 使用
cin输入一个字符。 - 使用
if-else语句判断字符是否为元音字母(包括大小写)。 - 如果不是元音且在字母范围内(
a-z或A-Z),则为辅音。 - 如果不在字母范围内,则输出不是字母。
方法2:使用switch-case语句
思路:使用switch-case语句逐一判断字符是否为元音字母,如果不是元音且为字母,则为辅音。
代码示例:
#include <iostream>
using namespace std;
int main() {
char ch;
cout << "请输入一个字符:";
cin >> ch;
// 判断是否为元音
switch (ch) {
case 'a':
case 'e':
case 'i':
case 'o':
case 'u':
case 'A':
case 'E':
case 'I':
case 'O':
case 'U':
cout << ch << " 是元音字母。" << endl;
break;
// 判断是否为辅音
default:
if ((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z')) {
cout << ch << " 是辅音字母。" << endl;
} else {
cout << ch << " 不是字母。" << endl;
}
break;
}
return 0;
}
代码含义:
- 使用
cin输入一个字符。 - 使用
switch-case语句判断字符是否为元音字母(包括大小写)。 - 如果不是元音且在字母范围内(
a-z或A-Z),则为辅音。 - 如果不在字母范围内,则输出不是字母。
方法3:使用函数封装
思路:将判断逻辑封装到一个函数中,使代码更加模块化和可重用。
代码示例:
#include <iostream>
using namespace std;
// 判断字符是否为元音
bool isVowel(char ch) {
switch (ch) {
case 'a':
case 'e':
case 'i':
case 'o':
case 'u':
case 'A':
case 'E':
case 'I':
case 'O':
case 'U':
return true;
default:
return false;
}
}
int main() {
char ch;
cout << "请输入一个字符:";
cin >> ch;
if (isVowel(ch)) {
cout << ch << " 是元音字母。" << endl;
} else if ((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z')) {
cout << ch << " 是辅音字母。" << endl;
} else {
cout << ch << " 不是字母。" << endl;
}
return 0;
}
代码含义:
- 定义一个
isVowel函数,用于判断字符是否为元音。 - 在
main函数中,使用cin输入一个字符。 - 调用
isVowel函数判断字符是否为元音。 - 如果不是元音且在字母范围内(
a-z或A-Z),则为辅音。 - 如果不在字母范围内,则输出不是字母。
方法4:使用数组
思路:将元音字母存储在数组中,通过遍历数组判断字符是否为元音。
代码示例:
#include <iostream>
using namespace std;
int main() {
char ch;
cout << "请输入一个字符:";
cin >> ch;
// 元音字母数组
char vowels[] = {'a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U'};
bool isVowel = false;
// 遍历数组判断是否为元音
for (int i = 0; i < 10; i++) {
if (ch == vowels[i]) {
isVowel = true;
break;
}
}
if (isVowel) {
cout << ch << " 是元音字母。" << endl;
} else if ((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z')) {
cout << ch << " 是辅音字母。" << endl;
} else {
cout << ch << " 不是字母。" << endl;
}
return 0;
}
代码含义:
- 定义一个包含所有元音字母的数组
vowels。 - 使用
cin输入一个字符。 - 遍历
vowels数组,判断输入的字符是否为元音。 - 如果不是元音且在字母范围内(
a-z或A-Z),则为辅音。 - 如果不在字母范围内,则输出不是字母。
方法5:使用字符串
思路:将元音字母存储在字符串中,通过字符串的find方法判断字符是否为元音。
代码示例:
#include <iostream>
#include <string>
using namespace std;
int main() {
char ch;
cout << "请输入一个字符:";
cin >> ch;
// 元音字母字符串
string vowels = "aeiouAEIOU";
// 使用find方法判断是否为元音
if (vowels.find(ch) != string::npos) {
cout << ch << " 是元音字母。" << endl;
} else if ((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z')) {
cout << ch << " 是辅音字母。" << endl;
} else {
cout << ch << " 不是字母。" << endl;
}
return 0;
}
代码含义:
- 定义一个包含所有元音字母的字符串
vowels。 - 使用
cin输入一个字符。 - 使用字符串的
find方法判断输入的字符是否在vowels字符串中。 - 如果在字符串中,则为元音。
- 如果不在字符串中且在字母范围内(
a-z或A-Z),则为辅音。 - 如果不在字母范围内,则输出不是字母。
以上是几种常见的判断字符是元音还是辅音的方法,你可以根据具体需求选择合适的方法。
更多推荐


所有评论(0)