统计字母次数
约 10 分钟
要统计每个字母出现几次,就准备 26 个计数盒(一个数组)。把字母减去 'a' 当作盒子的编号:'a' 减出来是 0,'b' 是 1……这样每个字母都对应到自己的盒子。
#include <iostream>
#include <string>
using namespace std;
int main() {
string s = "abca";
int box[26] = {0};
for (int i = 0; i < s.length(); i++)
box[s[i] - 'a']++;
cout << box['a' - 'a'] << endl; // a 出现 2 次
return 0;
}
'c' - 'a' 等于 2,就放进第 2 个盒子。要注意两点:盒子一定要用 {0} 清零,不然里面是乱七八糟的初始值;这里假设字符串全是小写,如果混了大写要另外处理。
小纸条
字母 c 减字母 a 等于几?该放进第几个盒子?
登录 后可看答案