题解 | #统计字符#
统计字符
https://www.nowcoder.com/practice/4ec4325634634193a7cd6798037697a8
#include<iostream>
#include<string>
#include<string.h> //memset在这个库中
#include<bits/stdc++.h> //包含所有C++头文件(没有扩展名
using namespace std;
int cnt[128]; //采用ASCII码最多就128个字符
//对输入字符串做一遍扫描,记录每个字母的次数
//之后根据输入进行输出就可以了,这样比根据每个字符都扫描一遍效率更高
int main() {
string strF, str;
while (getline(cin, strF)) {
if (strF == "#") {
break;
}
getline(cin, str);
//将记录数组清零
//memset()
memset(cnt, 0, sizeof(
cnt)); //count是个关键字,这就是包含所有头文件可能遇到的问题,能用的关键字变少了
//arr(相当于首地址),要填充的内容,空间大小
for (int i = 0; i < str.length(); i++) {
cnt[str[i]]++;
}
for (int i = 0; i < strF.length(); i++) {
cout << strF[i] << ' ' << cnt[strF[i]] << endl;
}
}
}

查看14道真题和解析