📅  最后修改于: 2023-12-03 14:56:21.493000             🧑  作者: Mango
Pangram是指包含字母表中所有字母至少一次的句子或字符串。在这里,我们将介绍一个用于检查字符串是否为Pangram的C++程序。你可以使用该程序来验证输入的字符串是否为Pangram。
下面是一个简单的C++程序示例,可用于检查字符串是否为Pangram:
#include <iostream>
#include <string>
#include <algorithm>
bool isPangram(std::string str) {
// 将字符串转换为小写字母
transform(str.begin(), str.end(), str.begin(), ::tolower);
// 构建一个标记数组,用于跟踪每个字母的出现
bool mark[26] = { false };
// 遍历字符串中的每个字符
for (char c : str) {
// 仅处理字母字符
if (isalpha(c)) {
// 设置相应字母的标记为true
mark[c - 'a'] = true;
}
}
// 检查每个字母的标记是否为true
for (bool m : mark) {
if (!m) {
return false; // 存在未出现的字母,不是Pangram
}
}
return true; // 所有字母都出现过,是Pangram
}
int main() {
std::string input;
std::cout << "请输入一个字符串:";
std::getline(std::cin, input);
if (isPangram(input)) {
std::cout << "输入的字符串是Pangram";
} else {
std::cout << "输入的字符串不是Pangram";
}
return 0;
}
该程序首先将输入的字符串转换为小写字母,然后使用一个标记数组mark
来跟踪每个字母的出现情况。程序遍历字符串中的每个字符,对每个字母字符,将相应字母的标记设置为true
。最后,程序检查标记数组,如果存在未出现的字母,则说明字符串不是Pangram。否则,所有字母都出现过,字符串是Pangram。
以下是使用上述程序的示例交互输出:
请输入一个字符串:The quick brown fox jumps over the lazy dog
输入的字符串是Pangram
请输入一个字符串:This is not a pangram
输入的字符串不是Pangram
以上示例分别显示了输入字符串是否为Pangram。
希望这个C++程序可以帮助你检查输入的字符串是否是Pangram。你可以根据自己的需求进行扩展和修改。