我已经浏览了两天了,还没有找到符合我的解决方案的解决方案。我正在写一个Pangram函数。我试过很多方法,但都没有成功。我的函数IsPangram总是给予it is not Pangram
一些建议。
void isPangram()
{
int i;
int count = 0;
char str[26];
cout << "Enter a string to check if its Pangram or not: ";
for (i = 0; i < 26; i++) {
cin >> str[i];
if (i >= 97 && i <= 122) {
cout << "It is Pangram" << endl;
break;
} else {
cout << "it is not Pangram" << endl;
break;
}
}
}
int main()
{
isPangram();
system("pause");
}
4条答案
按热度按时间yqyhoc1h1#
你的代码中有三个问题-
(i)你试图检查每个字符是否是一个pangram,这是错误的。
(ii)对于检查,检查索引
i
,而不是读取的字符str[i]
。(iii)由于
i
的值只能在0和26之间,因此该语句if ( i >= 97 && i <= 122 )
的计算结果始终为false
。因此你总是得不到一个pangram。试试这个
hfwmuf9z2#
r6hnlfcb3#
这是一个简单的,逻辑地思考
qnakjoqk4#
//使用哈希优化代码
} //希望对你有帮助