| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 418 人关注过本帖
标题:请教 关于字符串程序 补充完整
只看楼主 加入收藏
Jane_juyan
Rank: 1
等 级:新手上路
帖 子:8
专家分:6
注 册:2010-10-20
结帖率:100%
收藏
已结贴  问题点数:25 回复次数:3 
请教 关于字符串程序 补充完整
程序的作用是 计算程序输入中字符、单词和行的个数。   程序的核心段已经给出了

麻烦各位帮忙补充完整一下  就是可以在软件中运行的。

核心段:

switch(ch){
        case '\n':
            lines+=1;

        case ' ':
        case 't':
            words+=1;
        default:
            chars+=1;
    }


谢谢了。
搜索更多相关主题的帖子: 软件 字符串 
2011-02-25 21:27
pcbaichi
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:486
专家分:1185
注 册:2010-11-13
收藏
得分:13 
#include <stdio.h>
int main(void)
{
    int blanks, tabs, newlines,lastchar;
    int c;
    int done = 0;
    lastchar =blanks = tabs =newlines = 0;
    while(done == 0)
    {
        c = getchar();
        if(c == ' ')
            ++blanks;
        if(c == '\t')
            ++tabs;
        if(c == '\n')
            ++newlines;
        if(c == EOF)
        {
            if(lastchar != '\n')
            {
                ++newlines;
            }
                done = 1;
        }
        lastchar = c;
    }
    printf("Blanks: %d\nTabs: %d\nLines: %d\n", blanks, tabs, newlines);
    return 0;
}
类似的这样可以吗?lz可以自己去仿照写写看

免费赠送河蟹一只
2011-02-25 22:01
Jane_juyan
Rank: 1
等 级:新手上路
帖 子:8
专家分:6
注 册:2010-10-20
收藏
得分:0 
回复 2楼 pcbaichi
谢谢。不过我的意思是:程序中必须用上面给的那个核心段。
只是那些定义初始化什么的我不会。
你的这种方法我会。
2011-02-27 10:10
犬虫门心
Rank: 8Rank: 8
来 自:西安
等 级:蝙蝠侠
帖 子:209
专家分:753
注 册:2011-1-25
收藏
得分:13 
楼主,你的核心段算法思想漏洞大啊!
1、单词间不一定只用空格分隔空格,标点符号也可以;
2、单词间不一定只有一个空格(当然也不一定只有一个标点符号),比如:I   said:"Go!Go!!Go!!!"

解决方案最好用“单词边界法”:假设单词由字母(数字)组成;一个单词开头必然由一个分隔符和一个字母(或数字)组成,一个单词结尾必然由一个字母(或数字)和一个分隔符组成。用识别开头或识别结尾之一,就可判断一个单词。

当一名对得起学生学费的老师,一直是我的目标!我会更努力的!
2011-02-27 11:41
快速回复:请教 关于字符串程序 补充完整
数据加载中...
 
   



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

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