hdu2072 单词数
来源:互联网 发布:江湖家政o2o源码下载 编辑:程序博客网 时间:2024/05/16 11:38
单词数
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 47095 Accepted Submission(s): 11519
Problem Description
lily的好朋友xiaoou333最近很空,他想了一件没有什么意义的事情,就是统计一篇文章里不同单词的总数。下面你的任务是帮助xiaoou333解决这个问题。
Input
有多组数据,每组一行,每组就是一篇小文章。每篇小文章都是由小写字母和空格组成,没有标点符号,遇到#时表示输入结束。
Output
每组只输出一个整数,其单独成行,该整数代表一篇文章里不同单词的总数。
Sample Input
you are my friend#
Sample Output
4
1、每篇小文章占一行,也就是说每篇文章的字符总数不大于80。
(猜想:控制台每行为80个字符长度)
2、给出一组测试数据:
you are my friend (you之前和friend 之后均无空格)
you are my friend(you之前空格数大于1)
you are my friend(are和my之前空格数多于1)
you are my friend (friend之后有很多空格)
#
4
4
4
4
#include<iostream>#include<cstring>#include<cstdio>using namespace std;int main(){char str[80]; //存放输入的文章 char res[80][80]; //二维数组存放不同的单词 while(gets(str)){if(str[0]=='#')break;int i=0,j=0,len=0,pos=0,ans=0; char s[80];len=strlen(str);for(int k=0;;k++) //忽略文章前面的空格 {if(str[k]==' ')pos++;else break;}while(pos<len) //pos:表示当前读到str数组的pos个元素 {sscanf(str+pos,"%s",s); //从文章中获取一个字符串(即一个单词),存入s for(j=0;j<i;j++){if(strcmp(res[j],s)==0)break; //判断这个单词是否已存在 }if(j==i) //如果前面的for循环结束后,j==i说明这个单词并未出现过 {strcpy(res[i++],s); //将新单词存入二维数组 ans++; //不同的单词数+1 }pos+=strlen(s)+1; //每次获取一个单词后,pos位置发生改变 for(int k=pos;;k++) //忽略单词之间多空格的情况 { if(str[k]==' ')pos++; else break; }}printf("%d\n",ans);}return 0;}
0 0
- hdu2072(不同单词数)
- 单词数,hdu2072
- HDU2072:单词数
- HDU2072:单词数
- HDU2072 单词数
- HDU2072 单词数
- hdu2072 单词数
- hdu2072 单词数
- HDU2072 单词数
- 【字符串】HDU2072单词数
- HDU2072 单词数
- hdu2072 单词数
- hdu2072 单词数
- HDU2072单词数
- 单词数(hdu2072字典树)
- HDU2072 单词数 【STL】+【strtok】
- HDU2072——单词数
- hdu2072 统计不同单词数
- Android判断是否为wifi环境
- 欢迎使用CSDN-markdown编辑器
- 阿里大于短信发送服务
- LeetCode 303. Range Sum Query - Immutable
- 非常实用的图表工具MPAndroidChart
- hdu2072 单词数
- Redis入门 (CentOS7 + Redis-3.2.1)
- Latex--入门系列二
- 用 _findfirst 和 _findnext 查找文件
- mvc 4 razor语法讲解和使用
- 14.文件上传(小案例及解析)
- BZOJ2310
- 几张图简单说明Node结构
- JavaScript初步学习—函数表达式