本帖最后由 Lion-R 于 2016-7-24 23:28 编辑  
 
统计字符串中每个字符出现的次数.  char* str = "&abcldotreABorpffr**^%#$@@@@#$&*(dadcxzczaquoerppv";  
 提示: 思路:同样遍历字符串的每个字符,先判断当前字符在这之前有没有出现过.如果有,说明前面出现时已经统计过了,不需要重复统计;如果前面没有出现过,说明这是第1次出现,这时再遍历找出当前位置后的所有字符中,该字符出现的次数.累加. // 实现              char* str = "&abcldotreABorpffAr**^%#$@@@@#$&*(dadcxzczaquoerppv";         unsigned long len = strlen(str);         //    char* test = "abcdsdeafdafadds";             // 计数器             int count = 0;             // 遍历字符串.拿到每个字符             for (int i = 0; i < len; i++) {                 count = 1;                      int flag = 0;                 // 判断在这之前有没有出现过该字符                 for (int j = 0; j <= i-1; j++) {                     // 判断字符是否相等                     // str str[j]                 if (str == str[j]) {                         flag = 1;                        }                 }                 if (flag == 1) {                     continue;                 }                 // 循环遍历当前字符i后面的所有字符中出现的次数                 for (int k = i+1; k < len; k++) {                     if (str[k] == str) {                         count++;                     }                     if (k == len - 1) {                         printf("%c 出现了%d次\n", str, count);                     }                 }             }         }         return 0;     } }  |