| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 526 人关注过本帖
标题:大家看看吧
取消只看楼主 加入收藏
快乐的狮子
Rank: 2
等 级:论坛游民
帖 子:38
专家分:37
注 册:2013-7-26
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:2 
大家看看吧
  这是一个打印输入中单词长度的直方图的程序,但是我看不懂大家给讲讲吧!

 #include<stdio.h>
#define MAXHIST 15
#define MAXWORD 11
#define IN       1
#define OUT      0
void main()
{
    int c,i,nc,state;
    int len;
    int maxvalue;
    int ovflow;
    int wl[MAXWORD];
    state=OUT;
    nc=0;
    ovflow=0;
    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;
                nc=0;
        }
        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=1;
    }
    else
        len=0;
    while(len>0)
    {
        putchar('*');
        --len;
    }
    putchar('\n');
}
if(ovflow>0)
printf("there are %d words >=%d\n",ovflow,MAXWORD);
}

搜索更多相关主题的帖子: include 直方图 单词 
2013-10-10 20:18
快乐的狮子
Rank: 2
等 级:论坛游民
帖 子:38
专家分:37
注 册:2013-7-26
收藏
得分:0 
别沉了,大家看看
2013-10-10 20:46
快乐的狮子
Rank: 2
等 级:论坛游民
帖 子:38
专家分:37
注 册:2013-7-26
收藏
得分:0 
好的,先谢谢大家的。说明一下。
一,这个程序怎么能输出一个直方图。
二,数组wl[nc]为变量,nc也是变量,这样可以吗?
2013-10-12 22:19
快速回复:大家看看吧
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024643 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved