我要做的是拥有一个字符串,其中包含AABBCC之类的字符串值。我想要做的是一个循环,它查看字符串变量中的第一个字母并删除第一个字母,并根据数字向int变量添加一个数字。 基本上我正在寻找的是。
string LettertoNumber = AABBCC
环
在LettertoNumber中取第一个字母
删除第一个字母A
将1添加到int变量
当A不再是第一个字母时,结束循环
环
参加LettertoNumber B的第一封信
删除第一个字母B
将2添加到int变量
当B不再是第一个字母时结束循环
环
参加LettertoNumber C的第一封信
删除第一个字母C
将3添加到int变量
当C不再是第一个字母时结束循环
现在我可以了解如何使用int变量添加数字。 我能找到的是如何从字符串中删除所说的内容。 我正在寻找一种我能理解的方法。
答案 0 :(得分:0)
您不需要删除字母,只需遍历字符串并相应地更新总和:
string s;
cin >> s;
int sum = 0;
for (int i = 0; i < s.size();) {
do {
// as long as:
// 1. you are not at the end of the string
// and
// 2. there is a sequence of equal chars
// update your sum accordingly
sum += value_you_want_for(s[i]);
i++;
} while (i < s.size() && s[i - 1] == s[i])
}
cout << sum;
如果真的,想删除字符,则可以使用std::string
的{{3}}方法。