题解 | #字符统计#

字符统计

https://www.nowcoder.com/practice/c1f9561de1e240099bdb904765da9ad0

//榜一的代码,加个注释记一下

#include <stdio.h>
#include <string.h>

int main() {
    char str[1000];
    while (~scanf("%s", str)) {
        int cnt[200] = {0};
        int max = 0;
        for (int i = 0; i < strlen(str); i++) { //这个循环实际上根据ASCII码统计了不同字符出现的次数
            cnt[str[i]]++;                      //这里面的str[i]表示字符对应的ASCII码,是一个数字
            if (max < cnt[str[i]]) {
                max = cnt[str[i]];
            }
        }
        for (int i = max; i > 0; i--) {
            for (char j = '0'; j <= 'z'; j++) { //26次循环,逐步将出现次数最多的字母打印出来
                if (cnt[j] == i) {
                    printf("%c", j);            //注意这个j,很灵性
                }
            }
        }
    }
    return 0;
}

全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务