1、 规定输入的全是小写字符,定义一个长度为26的数组,将输入字符串中的字符个数统计存于数组中;
2、比较求出数组中最小的值即为出现次数最少的字符;
3、循环比较字符串中字符的在数组中的次数大于最小次数的则输出该字符;
#include <iostream>
#include <string>
using namespace std;
int main()
{
string str;
while (getline(cin, str)) {
int arr[26] = {0}; // 26个字母
int len = str.length();
for (int i = 0; i < len; i++) {
arr[str[i] - 'a']++; // 将每个字符出现的次数累加
}
int minCnt = 100;
for (int i = 0; i < 26; i++) {
if (arr[i] <= minCnt && arr[i] > 0) { // 比较得到最小次数
minCnt = arr[i];
}
}
string tmpstr = "";
for (int it = 0; it < len; it++) {
if (arr[str[it] - 'a'] > minCnt) { // 输出大于最小次数的字符
tmpstr += str[it];
}
}
cout << tmpstr << endl;
}
return 0;
}