| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1141 人关注过本帖
标题:一个统计单词的程序,编译通过,运行不对。
只看楼主 加入收藏
凤凰院凶假
Rank: 2
来 自:春天里
等 级:论坛游民
威 望:1
帖 子:36
专家分:33
注 册:2016-12-22
结帖率:83.33%
收藏
已结贴  问题点数:20 回复次数:2 
一个统计单词的程序,编译通过,运行不对。
如题,下面是我的代码:

程序代码:
#include<stdio.h>
#include<ctype.h>
#include<stdbool.h>
#define STOP '|'

int main()
{
    char c;
    char prev;
    long n_chars = 0L;                //字符数
    int n_lines = 0;                //行数
    int n_words = 0;                //单词数
    int p_lines = 0;                //不完整的行数
    bool inword = false;            //如果c在单词中,inword等于true

    printf("Enter text to be analyzed(| to terminare):\n");
    prev = '\n';                    //用于识别完整的行
    while ((c = getchar()) != STOP);
    {
        n_chars++;                    //统计字符
        if (c=='\n')
            n_lines++;                //统计行
        if (!isspace(c) && !inword)
        {
            inword = true;            //开始一个新的单词
            n_words++;                //统计单词
        }
        if (isspace(c) && inword)
            inword = false;            //打到单词末尾
        prev = c;                    //保存字符的值
    }
    if (prev != '\n')
        p_lines = 1;
    printf("characters=%ld,words=%d,lines=%d,",
        n_chars, n_words, n_lines);
    printf("partial lines =%d\n", p_lines);
    
    return 0;
}


运行结果:
图片附件: 游客没有浏览图片的权限,请 登录注册
搜索更多相关主题的帖子: 统计 单词 运行 int printf 
2017-11-14 07:33
grmmylbs
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:54
帖 子:1409
专家分:5845
注 册:2016-2-14
收藏
得分:20 
这里多了分号
while ((c = getchar()) != STOP);
2017-11-14 09:02
凤凰院凶假
Rank: 2
来 自:春天里
等 级:论坛游民
威 望:1
帖 子:36
专家分:33
注 册:2016-12-22
收藏
得分:0 
尴尬
2017-11-14 19:47
快速回复:一个统计单词的程序,编译通过,运行不对。
数据加载中...
 
   



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

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