题解 | #字符统计#
字符统计
http://www.nowcoder.com/practice/c1f9561de1e240099bdb904765da9ad0
#include <iostream> using namespace std; int main() { string input; while(cin>>input) { int length = input.length(); char tmp[length]; int itmp =0; int num[length]; int inum; //确定tmp he num for(int i=0; i<length; i++) { if(input.find(input[i]) == i) { inum = 1; //如果第一次出现就存起来 tmp[itmp] = input[i]; //找到这个字符出现的次数 for(int j=i+1; j<length; j++) { if(input[j] == input[i]) { inum++; } } num[itmp] = inum; itmp ++; } } //冒泡排序 for(int i=0; i<itmp; i++) { for(int j=0; j<itmp-i-1;j++) { if(num[j]<num[j+1]) { swap(tmp[j], tmp[j+1]); swap(num[j], num[j+1]); } if(num[j]==num[j+1]) { if(tmp[j]>tmp[j+1]) { swap(tmp[j], tmp[j+1]); swap(num[j], num[j+1]); } } } } //输出结果 for(int i=0; i<itmp; i++) { cout<<tmp[i]; } cout<<endl; } return 0; }