Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 58305 Accepted Submission(s): 14501

Problem Description
lily的好朋友xiaoou333最近很空,他想了一件没有什么意义的事情,就是统计一篇文章里不同单词的总数。下面你的任务是帮助xiaoou333解决这个问题。

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

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

Sample Input
you are my friend #

Sample Output
4

思路:先让一组句子输入,从前面开始找第一个单词,找到就紧接着该单词的后面开始找与之相同的单词,第一次找到相同就break,类似于几个数字中找不同的数字个数,最后用总单词数减去所有相同单词个数

#include<stdio.h>
#include<string.h>
int main()
{       char a[1000],b[100],c[100];memset(a,'\0',sizeof(a));while(gets(a)&&a[0]!='#'){int t=1,i=0,j,f,x=0,k=1,y,h;int len,s=0,num=0,all=0,ifFirstspace=1;memset(c,'\0',sizeof(c));memset(b,'\0',sizeof(b));len=strlen(a);//判断最开头几个元素是不是空格,是就一直向前,//找到第一个字母为止if(a[0]==' '){for(f=1;a[f]==' ';f++){}i=f;}//判断完毕h=i;//统计总单词数for(;h<=len-1;h++){if(a[h]==' '){t=1;}else if(t==1){t=0;all++;}}//统计完毕//检查最后面是字母还是空格,是字母的话在后面加个空格if(a[len-1]!=' '){len++;a[len-1]=' ';}
//检查完毕//核心部分for(;i<=len-1;i++){//开始将一个单词的各个字母放入数组b,//在遇到下一个空格之前能得到一个单词if(a[i]!=' '){b[x]=a[i];x++;ifFirstspace=1;}//当前a[i]为空格并且为字母后面第一个空格else if(a[i]==' '&&ifFirstspace==1){ifFirstspace=0;//使得该空格相邻的空格不再进入else if//从当前空格的下一个元素开始遍历,//以当前单词的字母数来收集单词进行比较//(装进数组c),//找到第一个相同的单词就breakfor(j=i+1;j<=len-1;j++){//确保找到的是一个单词而不是一个单词中的一部分,//比如当前单词是you,找到的就不能是youthif(a[j-1]==' '&&a[j+x]==' '){for(y=0,s=0;y<=x-1;y++,s++){c[y]=a[j+s];}c[x]='\0';b[x]='\0';if(strcmp(c,b)==0){num++;break;}}}//遍历完成memset(c,'\0',sizeof(c));memset(b,'\0',sizeof(b));x=0;}}memset(a,'\0',sizeof(a));printf("%d\n",all-num);}return 0;
}

hdu2072单词数(思维)相关推荐

  1. HDU2072 单词数(解法二)【废除!!!】

    本文废除!!! 参考链接:HDU2072 单词数[水题] 问题链接:HDU2072 单词数. 问题描述:参见上文. 问题分析:这是一个比较简单的问题,一行一行读入字符串,统计该行有几个单词.单词之间只 ...

  2. HDU2072 单词数【水题】

    单词数 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submis ...

  3. HDU-2072 单词数 水题一枚

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2072 map判重即可: 1 //STATUS:G++_AC_0MS_376KB 2 #include& ...

  4. 进阶指令——wc指令【作用:统计文件内容信息(包含行数、单词数、字节数)】、date指令【作用:表示操作时间日期(读取、设置)】、cal指令【作用:用来操作日历的】、clear/ctrl + L指令

    6.wc指令 作用:统计文件内容信息(包含行数.单词数.字节数) 语法:#wc -l                wc 需要统计的文件路径 -l:表示lines,行数 -w:表示words,单词数 ...

  5. 解析统计文本文件中的字符数、单词数、行数。

    用android 编程解析统计文本文件中的字符数.单词数.行数(作业) 主要代码 ... private void analysis() { String str = " "; i ...

  6. C语言 · 单词数统计

    单词数统计 输入一个字符串,求它包含多少个单词. 单词间以一个或者多个空格分开. 第一个单词前,最后一个单词后也可能有0到多个空格. 比如:" abc    xyz" 包含两个单词 ...

  7. Bailian4030 统计单词数【文本处理】

    4030:统计单词数 总时间限制: 1000ms 内存限制: 65535kB 描述 一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位置,有的还能统计出特定单词在文章中出现的次 ...

  8. JSK-27321 统计单词数【字符串】

    统计单词数 一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位置,有的还能统计出特定单词在文章中出现的次数. 现在,请你编程实现这一功能,具体要求是:给定一个单词,请你输出它在 ...

  9. 信息学奥赛一本通 1400:统计单词数 | 1954:【11NOIP普及组】统计单词数 | OpenJudge NOI 1.12 05 | 洛谷 P1308 [NOIP2011 普及组] 统计单词数

    [题目链接] ybt 1400:统计单词数 ybt 1954:[11NOIP普及组]统计单词数 OpenJudge NOI 1.12 05:统计单词数 洛谷 P1308 [NOIP2011 普及组] ...

最新文章

  1. Sun公司开源游戏服务器Project Darkstar Server——(Sun game server , 简称 sgs)学习笔记(一):sgs简介...
  2. 赠票 | 中国数据智能管理峰会(上海)
  3. Ubuntu 安装flash
  4. 华为计算黄之鹏:AI开源框架已经到“汽车替代马车”的阶段 | MEET2021
  5. 用 TS + Vue 写了一个在 Chrome 中运行 Prettier 格式化的扩展程序
  6. 【uni-app】动态计算图片高度且保持宽高比
  7. 配置springboot在访问404时自定义返回结果以及统一异常处理
  8. JavaScript小技巧一
  9. 有序二叉树c语言,二叉搜索树(BST)的实现(C语言)(原创)
  10. tomcat原理及作用,MySQL数据中有很多换行符和回车符
  11. 明天结束一个人的生活
  12. 基于LDA的文本主题聚类Python实现
  13. Arduino环境使用TM1638扩展版
  14. 自然语言处理技术的进展和趋势
  15. c语言练习----渔夫打鱼晒网
  16. JS的IE和Firefox兼容性汇编(原作:hotman_x)
  17. Flyme-Substratum主题
  18. Oracle 查询表空间及某个表的大小
  19. 数控编程必备神器!Mastercam 2021让你的加工更高效更精准!
  20. 全志a10 Android,全志A10 Android4.0 电话系统 使用说明文档 (MU509篇)

热门文章

  1. 安卓虚拟摄像头_iPhone 的第四颗摄像头位置,为什么给了激光雷达?
  2. 电脑有网但打不开网页怎么办?
  3. ES6数据部分(字符串,数组,对象,symbol,set,map)
  4. android 打开微信扫一扫
  5. 数据结构算法-二叉树
  6. 老四苏-33:舰载机王 苏-33的另一个编号叫苏-27K。自然,它也是从苏-27改过来的,首飞于1987年8月17日。
  7. 大数据开发的26个专业术语
  8. python-格式化写入xml文件
  9. 关于android接入微信分享(以及app签名 the apk for your currently selected variant(app-release)
  10. 什么是机器学习?机器学习与AI的关系?