题解 | #统计字符#
统计字符
https://www.nowcoder.com/practice/4ec4325634634193a7cd6798037697a8
- 思路直白,肯定还有更好的方法
#include <iostream> using namespace std; struct cCount{ char ch; int num; }; int main() { string cstr,str; while (getline(cin,cstr)) { if(cstr=="#") break; getline(cin,str); cCount *chs=new cCount[cstr.length()]; for(int i=0;i<cstr.length();i++){//结构体初始化 chs[i].ch=cstr[i]; chs[i].num=0; } for(int i=0;i<str.length();i++){//循环对比,cstr可能有重复字符 for(int j=0;j<cstr.length();j++){ if(str[i]==chs[j].ch){ chs[j].num++; } } } for(int i=0;i<cstr.length();i++){//遍历输出 cout<<chs[i].ch<<" "<<chs[i].num<<endl; } } return 0; }