| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 532 人关注过本帖
标题:关于单词数问题
只看楼主 加入收藏
xuqingxiang
Rank: 1
等 级:新手上路
帖 子:11
专家分:2
注 册:2012-11-8
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:10 
关于单词数问题
lily的好朋友xiaoou333最近很空,他想了一件没有什么意义的事情,就是统计一篇文章里不同单词的总数。下面你的任务是帮助xiaoou333解决这个问题。

Input

有多组数据,每组一行,每组就是一篇小文章。每篇小文章都是由小写字母和空格组成,没有标点符号,遇到#时表示输入结束。

Output

每组只输出一个整数,其单独成行,该整数代表一篇文章里不同单词的总数。

Sample Input


you are my friend
#

Sample Output


4

求单词数我会 就是不知道怎么输入多组并以#结束
#include<stdio.h>
int main()
{
    char ch=32,ch1=32;
    int num=0;
   
    while ((ch=getchar())!='\n')
    {  
        if(ch==32&&ch1!=32)
            num++;
        ch1=ch;
    }
    if(ch1!=32)
        num++;
    printf("%d\n",num);
    return 0;
}


搜索更多相关主题的帖子: 单词 标点符号 include friend 
2012-12-11 21:59
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:2 
while ((ch=getchar())!='#')

DO IT YOURSELF !
2012-12-11 22:12
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:2 
但是你的代码是有问题的 ,需要进一步改进的

DO IT YOURSELF !
2012-12-11 22:16
yaobao
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:4
帖 子:1854
专家分:4121
注 册:2012-10-25
收藏
得分:1 
感觉楼主解题的总体思路不对

认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2012-12-11 22:24
yaobao
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:4
帖 子:1854
专家分:4121
注 册:2012-10-25
收藏
得分:1 
感觉楼主一直在统计空格数,或者说单词数,但是对于不同单词的问题却没有解决

认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2012-12-11 22:26
xuqingxiang
Rank: 1
等 级:新手上路
帖 子:11
专家分:2
注 册:2012-11-8
收藏
得分:0 
回复 2楼 wp231957
你那是输入字符串以#结束  我的问题是输入多组字符串  当输入#时结束程序
2012-12-11 22:50
xuqingxiang
Rank: 1
等 级:新手上路
帖 子:11
专家分:2
注 册:2012-11-8
收藏
得分:0 
回复 5楼 yaobao
不需要知道不同单词数  只要知道单词的个数就行了  我的问题是有多组实例
2012-12-11 22:51
C_戴忠意
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:2
帖 子:575
专家分:1349
注 册:2011-10-21
收藏
得分:13 
程序代码:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

char save[1000][100];
int judge[1000];

int main()
{
    char str[100];
    int len;
    int i,j,flag;
    int pos,cur;
    int count;
    while(gets(str)&&str[0]!='#')
    {
        len=strlen(str);
        flag=1;
        pos=cur=0;
        memset(judge,0,sizeof(judge));
        for(i=0;i<len;i++)
        {
            if(str[i]==' '&&flag) continue ;
            if(str[i]==' ')
            {
                pos++;
                cur=0;
                flag=1;
            }
            else if(str[i]!=' ')
            {
                save[pos][cur++]=str[i];
                flag=0;
            }
        }
        if(cur) pos++;
        count=0;
        for(i=0;i<pos;i++)
        {
            if(judge[i]) continue;
            for(j=i+1;j<pos;j++)
            {
                if(strcmp(save[i],save[j])==0) judge[j]=1;
            }
            count++;
        }
        printf("%d\n",count);
        for(i=0;i<=pos;i++)
        {
            for(j=0;j<100;j++) save[i][j]='\0';
        }
    }
    return 0;
}

编程之路定要走完……
2012-12-12 11:56
C_戴忠意
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:2
帖 子:575
专家分:1349
注 册:2011-10-21
收藏
得分:1 
回复 8楼 C_戴忠意
这是我大一学习C语言的时候刷的杭电题目的答案,给你参考。

编程之路定要走完……
2012-12-12 11:57
xuqingxiang
Rank: 1
等 级:新手上路
帖 子:11
专家分:2
注 册:2012-11-8
收藏
得分:0 
回复 9楼 C_戴忠意
非常感谢
2012-12-12 15:36
快速回复:关于单词数问题
数据加载中...
 
   



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

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