C——letterCounter

/* 一个统计字母(含大小写)出现次数的C程序 */
#include <stdio.h>

int main() {
    char counts[52];
    char ch;

    /* initialization */
    for(int i = 0; i < sizeof(counts)/sizeof(counts[0]); i++) {
        counts[i] = 0;
    }
    
    /* EOF: ctrl+D */
    while((ch = getchar()) != EOF) {
        if(ch >= 97 && ch <= 122){
            counts[ch-97]++;
        } else if (ch >= 65 && ch <= 90) {
            counts[ch-65+26]++;
        }
    }

    for(int i = 0; i < 26; i++) {
        if(counts[i] != 0) {
            printf("%c: %d\n", i+97, counts[i]);
        }
    }

    for(int i = 26; i < 52; i++) {
        if(counts[i] != 0) {
            printf("%c: %d\n", i+65-26, counts[i]);
        }
    }

    return 0;
}

gcc letterCounter.c -o letterCounter.out

编译生成可执行文件

./letterCounter.out < letterCounter.c

将letterCounter.c源文件重定向输入到可执行程序中,查看字母出现频率

猜你喜欢

转载自www.cnblogs.com/noonjuan/p/11520487.html
C