华为机试-删除字符串中出现次数最少的字符(HJ23)——纯C
删除字符串中出现次数最少的字符
https://www.nowcoder.com/practice/05182d328eb848dda7fdd5e029a56da9?tpId=37&&tqId=21246&rp=1&ru=/ta/huawei&qru=/ta/huawei/question-ranking
纯C
#include <stdlib.h> #include <stdio.h> #include <string.h> int main() { char str[22]; while(scanf("%s", str) != EOF) { int flag[26] = {0}; int min=20; int len=strlen(str); //统计每个字符的次数 for(int i=0; i<len; ++i) { flag[str[i]-'a']++; } //找出字符出现的最小次数 for(int i=0; i<26; ++i) { if(flag[i] && flag[i] < min) min = flag[i]; } //输出出现次数大于最小次数的字符 for(int i=0; i<len; ++i) { if(flag[str[i]-'a'] > min) printf("%c", str[i]); } printf("\n"); } return 0; }