我试图计算数组wrongLetters
中有多少值实际上是字母。我已经开发了以下结构来执行此操作,但它不会生成正确的值。似乎循环是重复计算,因为在我的完整程序中运行时,使用的值开始呈指数增长。有关更好的方法的任何建议?
for (int i = 0; i < 26; i++)
{
if (wrongLetters[i] != 0)
used += 1; // used counts how many alpha chars are in the array
}
答案 0 :(得分:1)
我正在尝试计算数组
wrongLetters
中有多少值实际上是字母。
假设您有类似
的内容std::string wrongLetters;
// input at wrongLetters
您可以像这样计算 alpha字符
size_t alphaChars = 0;
for(auto c : wrongLetters) {
if(std::isalpha(c)) ++alphaChars;
}
答案 1 :(得分:0)
要计算字母字符,您可以执行此操作:
假设wrongletters
是一个数组容器
int count = 0;
for(int i = 0; i < wrongletters.size(); i++)
if(std::isalpha(wrongletters[i]))
count++;
现在,对于您的代码,您可能需要检查wrongletters[i] != '0'
,它会检查character
而不是integer
。