码迷,mamicode.com
首页 > 其他好文 > 详细

C——letterCounter

时间:2019-09-14 22:53:41      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:while   ati   for   counter   pre   次数   文件   文件重定向   ctr   

/* 一个统计字母(含大小写)出现次数的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源文件重定向输入到可执行程序中,查看字母出现频率

技术图片

C——letterCounter

标签:while   ati   for   counter   pre   次数   文件   文件重定向   ctr   

原文地址:https://www.cnblogs.com/noonjuan/p/11520487.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!