鱼C论坛

 找回密码
 立即注册
查看: 806|回复: 4

[已解决]《C程序设计语言》读不懂题目了

[复制链接]
发表于 2020-4-20 17:40:59 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
《C程序设计语言》里的1-13题目
编写一个程序,打印输入中单词长度的直方图。水平方向的直方图比较容易绘制,垂直方向的要困难些
代码谷歌一下都有
但是我是读不懂题目啊,
求大神给小白讲下这题是个啥意思
最佳答案
2020-4-20 17:50:01
       意思是写一个输入单词的程序,然后统计每种长度的单词数,最后用直方图表示出各长度单词数的多少
如果懂了→请设置最佳
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-20 17:50:01 | 显示全部楼层    本楼为最佳答案   
       意思是写一个输入单词的程序,然后统计每种长度的单词数,最后用直方图表示出各长度单词数的多少
如果懂了→请设置最佳
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-20 21:15:22 | 显示全部楼层
Hello. 发表于 2020-4-20 17:50
意思是写一个输入单词的程序,然后统计每种长度的单词数,最后用直方图表示出各长度单词数的多少
...

哈啊哈哈,在我的不屑努力之下,终于打印出来了
#include<stdio.h>
#define IN 1
#define OUT 0
#define MAXSIZE 15

int MaxWordLen(int WORD_LEN[]);
int MaxWordLen(int WORD_LEN[])
{
    int max=WORD_LEN[0];
    for ( int i = 0; i < MAXSIZE; i++)
    {
        if (WORD_LEN[i]>=max)
        {
            max=WORD_LEN[i];
        }
        
    }
    return max;
}

int main()
{
    //统计各长度单词数量
    int c,WORD_LEN[MAXSIZE],state,word_count,i;
    state=OUT;
    word_count=0;
    for ( i = 0; i < MAXSIZE; i++)
    {
        WORD_LEN[i]=0;
    }
    while ((c=getchar())!=EOF)
    {
        if (c=='\n'||c==' '||c=='\t')
        {
            if (state==IN)
            {
                WORD_LEN[word_count-1]++;
                word_count=0;
                state=OUT;
            }
        }else
        {
            if (state==OUT||state==IN)
            {
                state=IN;
                word_count++;
            }
            

            
        }    
    }

    //打印垂直表
    int max,j;
    max=MaxWordLen(WORD_LEN);
    for ( i = 0; i <= max; i++)
    {
        for ( j = 0;j < MAXSIZE; j++)
        {
            if (i>=(max-WORD_LEN[j]+1))
            {
                printf(" ** ");
            }else
            {
                printf("    ");
            }
            
            
        }
        printf("\n");
    }
    //printf(" 01  02  03  04  05  06  07  08  09  10  11  12  13  14  15\n");
    for ( i = 0; i <MAXSIZE; i++)
    {
        if (i<=8)
        {
            printf(" 0%d ",i+1);
        }else
        {
            printf(" %d ",i+1);
        }
        
        
    }
    
    
    
    return 0;
}


My dream is to be a sport player.I think sport player is a good job to make a lot of money ,and I can become very rich .When I become rich ,I will do lots of things ,for example,I will buy a big house with graden for my parents,I will travel around the world with my parents.I especially want to do the ting that is to help the persons in trouble and give a lot of money to the charities .There are my dreams ,I will work hard to make my dream come true
^Z

             **
     **      **
     **      **
     **      **
     **      **
     **      **
     **      **
     **      **
     **      **
     **      **
     **      **
     **  **  **
     **  **  **
     **  **  **
     **  **  **  **
     **  **  **  **  **
     **  **  **  **  **
**  **  **  **  **  **
**  **  **  **  **  **
**  **  **  **  **  **
**  **  **  **  **  **          **
**  **  **  **  **  **          **
**  **  **  **  **  **  **      **
**  **  **  **  **  **  **  **  **  **
01  02  03  04  05  06  07  08  09  10  11  12  13  14  15
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-20 21:15:57 | 显示全部楼层
JerryLeeSir 发表于 2020-4-20 21:15
哈啊哈哈,在我的不屑努力之下,终于打印出来了

设置最佳哦^_^
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-20 21:16:31 | 显示全部楼层
加油
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-14 18:09

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表