| 网站首页 | 业界新闻 | 群组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 编程论坛
共有 124 人关注过本帖
标题:打印输入中单词长度的直方图。对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;
}
2018-12-08 22:00
莱布尼茨
Rank: 2
等 级:论坛游民
帖 子:7
专家分:19
注 册:2018-3-8
  得分:0 
额,system("pause")是<stdlib.h>里的,你这没加上去不报错?能给张截图不?我看不大明白是怎么输入的。
2018-12-09 00:06
Mr_doge
Rank: 2
等 级:论坛游民
威 望:3
帖 子:78
专家分:97
注 册: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







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

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