zcmu:
1750: 统计单词数
Time Limit: 1 Sec Memory Limit: 128 MB
Submit: 379 Solved: 74
[Submit][Status][Web Board]
Description

一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位置,有的还能统计出特定单词在文章中的次数。

现在,请你编程实现这一功能,具体要求是:给定一个单词,请你输出它在给定的文章中出现的次数和第一次出现的位置。注意:匹配单词时,不区分大小写,但要求完全匹配,即单词必须与文章中某一独立残次在不区分大小写的情况下完全相同(参见样例1),如果给定单词仅是文章中某一单词的一部分则不算匹配(参见样例2)。

Input

输入文件共2行。

第1行为一个字符串,其中只包含字母,表示给定单词;

第2行为一个字符串,其中只可能包含字母和空格,表示给定的文章。

Output

只有1行,如果在文章中找到给定单词则输出两个整数,两个整数之间用一个空格隔开,分别是单词在文章中出现的次数和第一次出现的位置(即在文章中第一次出现时,单词首字母在文章中的位置,位置从0开始);如果单词在文章中没有出现,则直接输出一个整数-1。

Sample Input

To
to be or not to be is a question
to
Did the Ottoman Empire lose its power at that time

Sample Output

2 0
-1

HINT

1<=单词长度<=10。

1<=文章长度<=10,000,000。

NOIP2011 普及组 stat

Source

NOIP2011
AC_code:

    #include <stdio.h>#include <string.h>char a[10000005],b[15];void CharLower(char* a,int s,int e){for(int i = s; i < e; i++){if(a[i]>='A'&&a[i]<='Z')a[i] = a[i]+32;}}int main(){memset(b,'\0',sizeof(b));while(gets(b+1)){b[0] = ' ';int lenth_b = strlen(b);b[lenth_b] = ' ';memset(a,'\0',sizeof(a));gets(a+1);a[0] = ' ';int lenth_a = strlen(a);a[lenth_a] = ' ';CharLower(b,1,lenth_b);CharLower(a,1,lenth_a);int flag = 1,pos,sum = 0;char *p = a,*q = b,*start = NULL;while(start=strstr(p,q)){sum++;if(flag){pos = start - a;flag = 0;}p = start+1;}if(sum)printf("%d %d\n",sum,pos);elseprintf("-1\n");memset(b,'\0',sizeof(b)); }return 0;}

/*
总结:
对于独立残次的单词匹配,可以对子串和母串前后各加一个空格进行匹配。
如果前后不加空格,strstr满足不了这个条件:单词必须与文章中某一独立残次在不区分大小写的情况下完全相同
就是下面这个图的结果:
*/

下面是我第一次做的,用strncasecmp不知道为什么是Wrong:
(想知道原因ing)
code:

#include <stdio.h>
#include <string.h>
char a[10000005],b[15],c[15];
int main()
{memset(b,'\0',sizeof(b));while(gets(b)){memset(a,'\0',sizeof(a));gets(a);int sum = 0,k,lenth_b = strlen(b),pos,flag = 1;for(int i = 0; a[i]!='\0'; i+=k){k = 0;memset(c,'\0',sizeof(c));for(int j = i; a[j]!=' '&&a[j]!='\0'; j++){c[k++] = a[j];}if(k==lenth_b&&strncasecmp(b,c,lenth_b)==0){sum++;if(flag){pos = i;flag = 0;}}k++;}if(sum)printf("%d %d\n",sum,pos);elseprintf("-1\n");memset(b,'\0',sizeof(b));}return 0;
}

1750: 统计单词数(某个单词出现次数)相关推荐

  1. [ZCMU OJ]1750: 统计单词数(字符串处理/find运用)

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

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

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

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

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

  4. python输入一个英文句子、统计单词个数_C语言编程求一个英文句子中的单词数和最长单词的位置、长度及输出这个单词。c++编程 从键盘输入一个英文...

    C语言编程求一个英文句子中的单词数和最长单词的位置.长度及输出这个单词. c++编程 从键盘输入一个英文 www.zhiqu.org     时间: 2020-11-23 我刚做了一关于英文句子里面每 ...

  5. linux查看单词个数,Linux怎么统计文本的的行数/单词数和字符数?

    Linux怎么统计文本的的行数/单词数和字符数? Linux系统中想要统计文本的行数.单词和字符数量,该怎么统计呢?我们可以使用SecureCRT来统计,下面我们就来看看详细的教程. 1.启动Linu ...

  6. Java实现统计一篇文章中英文单词出现的次数

    1. 准备工作 准备一篇英文文档放于D:\info.txt 输出 信息为Excel 表格.输出路径 D:\ 2. 创建一个Java maven 工程 引入依赖 <dependencies> ...

  7. 统计英文文件中单词数和各单词出现的频率(次数)

    /* File name:词频统计.cpp Author:杨柳 Date:2017.3.25 IDE:DEV-c++ */ #include <stdio.h> #include < ...

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

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

  9. java 统计文本行数_统计文本文件的行数,单词书,字节数

    [java]代码库import java.io.*; /** * 统计文本文件的行数,单词书,字节数 */ class WordCount { public static int words = 1; ...

最新文章

  1. ERROR: Failed to resolve: com.android.databinding:library:3.4.2
  2. 还在担心工作被AI取代?不如掌握这门硬实力,抢占职场发展机遇
  3. 隐马尔可夫模型 HMM 原理及实现
  4. html filter 在线预览,HTML Filter
  5. js 实现网页显示倒计时
  6. 前端:JS/23/JS内置对象(String对象,Array对象,Date对象,Boolean对象,Number对象,Math对象),实例:求圆的面积,求直角三角形
  7. 【李宏毅机器学习】Tips for Deep Learning(p14) 学习笔记
  8. 2020 时代的开发人员关键词:开源和远程办公
  9. 夺命雷公狗---Redis---3-Redis常用命令
  10. 关于 min_25 筛的入门以及复杂度证明
  11. 风云再续:他抖任他抖,IO诊断在我手
  12. 国美云运维自动化实践
  13. 【解决】nacos Ignore the empty nacos configuration and get it based on dataId
  14. 计算机管理打印机服务,Windows下打印服务器的管理(一)
  15. 设置树莓派屏幕常亮,禁止树莓派屏幕休眠
  16. 2019年第三季度 公链发展状况研究报告 |链塔智库
  17. 干货 | 携程Dynamo风格存储的落地实践
  18. 小程序前端view内容重叠问题
  19. Python将Excel文件插入Mysql数据库(脚本)
  20. [原创][vb6]仙剑3外传的存档修改器--补充说明2存档数据

热门文章

  1. 运维 服务器安装,IT服务器运维安装CentOS后,你要做的10件事
  2. dateformat java 格式_java Date日期类和SimpleDateFormat日期类格式
  3. Linus:“我删除了Linux,因为它就是个垃圾!”
  4. 这声音酥了!萌妹程序员鼓励师24小时在线陪你写代码,给我吹爆这个VSCode插件...
  5. jdk开发文档_【第9期】面试官:JDK、JRE、JVM 三者什么关系?
  6. GAN生成对抗网络-CGAN原理与基本实现-条件生成对抗网络04
  7. java通用解析excel_java读取简单excel通用工具类
  8. win7 64系统无法看见其他计算机,win7一直显示正在启动进不了系统怎么办
  9. Dijkstra和动态规划
  10. CSS+jQuery/JavaScript图片切换播放