黑马程序员技术交流社区
标题: 统计字符串中每个字符出现的次数. [打印本页]
作者: Lion-R 时间: 2016-7-24 23:23
标题: 统计字符串中每个字符出现的次数.
本帖最后由 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;
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |