计算阵列中的Alpha Chars

时间:2016-07-21 17:15:29

标签: c++

我试图计算数组wrongLetters中有多少值实际上是字母。我已经开发了以下结构来执行此操作,但它不会生成正确的值。似乎循环是重复计算,因为在我的完整程序中运行时,使用的值开始呈指数增长。有关更好的方法的任何建议?

for (int i = 0; i < 26; i++)
    {
        if (wrongLetters[i] != 0)
            used += 1;               // used counts how many alpha chars are in the array
    }

2 个答案:

答案 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