简单的密码哈希程序c ++

时间:2017-02-02 17:15:35

标签: c++

我试图将输出添加到一起。因此,输出不是12,我希望它是3,但我不知道如何。非常感谢帮助。

int returnVal(char x)
{
return x - 96;
}


int main() {
string s = "ab";

for (int i = 0; i < s.length(); i++)
{
    cout << returnVal(s[i]);    
}

return 0;
}

2 个答案:

答案 0 :(得分:3)

使用std::accumulate

int main()
{
    std::string s = "ab";

    std::cout << std::accumulate( s.begin(), s.end(), 0, []( int i, char c ) {
             return i + returnVal(c);
        } ) << std::endl;
}

live example

答案 1 :(得分:0)

您需要返回总数的值。

[实施例]:

int returnVal(char x)
{
    return x - 96;
}

int main() 
{
    string s = "ab";
    int totalValue = 0;

    for (int i = 0; i < s.length(); i++)
    {
        totalValue += returnVal(s[i]);        
    }
    cout << totalValue; 

    return 0;
}