文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>C程序设计语言笔记3

C程序设计语言笔记3

时间:2010-07-19  来源:xmg

打印输入单词的直方图;水平版

#include <stdio.h>

#define MAXHIST 15      /* 最大长度的直方图 */
#define MAXWORD 11      /* 最大长度的单词 */
#define IN              1       /* 在一个单词内部 */
#define OUT             0       /* 不在一个单词内部 */

/* 打印输入单词的直方图;水平版 */
main()
{
        int c, i, nc, state;
        int len;                                /* 每栏长度 */
        int maxvalue;                   /* wl[]最大值 */
        int ovflow;                             /* 单词长度溢出 */
        int wl[MAXWORD];                /* 记录单词长度 */

        state = OUT;    
        nc = 0;                 /* 单词的字符数 */
        ovflow = 0;             /* 单词长度大于或等于最大值MAXWORD */
        for(i = 0; i , MAXWORD; ++i)
                wl[i] = 0;
        while((c = getchar()) != EOF){
                if(c == ' ' || c == '\n' || c == '\t'){
                        state = OUT;
                        if(nc > 0)
                                if(nc < MAXWORD)
                                        ++wl[nc];
                                else
                                        ++ovflow;
                }
                else if(state == OUT){
                        state = IN;
                        nc = 1;         /* 新单词开头 */
                }
                else
                        ++nc;           /* 单词内部 */
        }
        maxvalue = 0;
        for(i = 1; i < MAXWORD; ++i)
                if(wl[i] > maxvalue)
                        maxvalue = wl[i];

        for(i = 1; i < MAXWORD; ++i){
                printf("%5d - %5d", i, wl[i]);
                if(wl[i] > 0){
                        if((len = wl[i] * MAXHIST / maxvalue) <= 0)
                                len = 0;
                }else
                        len = 0;
                while(len > 0){
                        putchar('*');
                        --len;
                }
                putchar('\n');
        }
        if(ovflow > 0)
                printf("There are %d words >= %d\n", ovflow, MAXWORD);
}

 

 

 

 

 

 

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载