标题:打印输入中单词长度的直方图。对C程序设计语言第二版内的练习题尝试自己编写 ...
只看楼主
厕所逗蛆
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2018-12-8
 问题点数:0 回复次数:3 
打印输入中单词长度的直方图。对C程序设计语言第二版内的练习题尝试自己编写的小代码,测试一切正常,只不过比参考答案功能少一点,重在自己尝试。第一次上传,勿喷,给小
#include<stdio.h>
#define MAXWORD 11
main()
{
    int n,i,j,k,c;
    n = 0;
    int wordlength[MAXWORD];
    for (i = 0; i < MAXWORD; i++)
        wordlength[i] = 0;
    while ((c = getchar()) != EOF)
    {
        if (c == ' '||c == '\t'||c == '\n')
        {
            ++wordlength[n];
            n = 0;
        }
        else n++;

    }
    printf("单词中的字母数  对应单词数\n");
    for (j = 1; j < MAXWORD; j++)
    {
        printf("%12.0d\t:", j);
        for (k = 0; k < wordlength[j]; k++)
            printf("*");
        printf("\n");
    }
    system("pause");
    return 0;
}
搜索更多相关主题的帖子: 单词 尝试 代码 答案 printf 
2018-12-08 22:00
莱布尼茨
Rank: 2
等 级:论坛游民
威 望:1
帖 子:8
专家分:19
注 册:2018-3-8
得分:0 
额,system("pause")是<stdlib.h>里的,你这没加上去不报错?能给张截图不?我看不大明白是怎么输入的。
2018-12-09 00:06
Mr_doge
Rank: 5Rank: 5
等 级:贵宾
威 望:10
帖 子:159
专家分:385
注 册:2018-6-28
得分:0 
回复 2楼 莱布尼茨
while ((c = getchar()) != EOF)
while判断入口已经接收输入了,getchar()函数是单字符读取的函数

很多编译器会自动补上没标注的缺少了的标准库,所以报错与否看编译器
2018-12-09 14:51
厕所逗蛆
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2018-12-8
得分:0 
回复 2楼 莱布尼茨
我用的Visual Studio 2017.
该程序运行没有报错。输入是直接输完几个单词,然后换行CTRL+z,它告诉程序我输入完毕相当于放了EOF。然后回车,程序出结果。
2018-12-09 20:59



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-491912-1-1.html




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

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