从一篇文章中检查特定单词出现数量和第一次出现位置

 1 #include<stdio.h>
 2
 3 int strlen(char*);
 4 void changeLaggerToSmaller(char*);
 5
 6 int main(void)
 7 {
 8     char word[15], content[1024*1024];
 9     int discovedCnt=0, firstPos= -1;
10     int i,j,k;
11
12     scanf("%s", word);
13     getchar();
14     gets(content);
15
16     changeLaggerToSmaller(word);
17     changeLaggerToSmaller(content);
18
19     i=0;
20     j=0;
21     while (content[i] != ‘\0‘)
22     {
23         do
24         {
25             if(word[j] == ‘\0‘ || word[j] != content[i+j])
26             {
27                 k=j;
28                 j=0;
29                 break;
30             }
31             j++;
32         }
33         while(word[j] != ‘\0‘);
34
35         if(j>0)
36         {
37             discovedCnt++;
38             if(firstPos<0)
39                 firstPos=i;
40             i+=k;
41         }
42         i++;
43     }
44
45     printf("discoved count: %d\nfirst position: %d\n", discovedCnt, firstPos-strlen(word));
46     return 0;
47 }
48
49 int strlen(char *pointer)
50 {
51     int length=0;
52     while(*pointer != ‘\0‘)
53         pointer++;
54     return length;
55 }
56
57 void changeLaggerToSmaller(char *pointer)
58 {
59     while (*pointer != ‘\0‘)
60     {
61         if (*pointer >= ‘A‘ && *pointer <= ‘Z‘)
62             *pointer = *pointer + 32;
63         pointer++;
64     }
65 }

第一个输入是单词 ,第二个输入是文章 ,回车执行控制台读取。

时间: 2024-08-01 22:42:37

从一篇文章中检查特定单词出现数量和第一次出现位置的相关文章

N个任务掌握java系列之统计一篇文章中单词出现的次数

问题:统计一篇文章中单词出现的次数 思路: (1)将文章(一个字符串存储)按空格进行拆分(split)后,存储到一个字符串(单词)数组中. (2)定义一个Map,key是字符串类型,保存单词:value是数字类型,保存该单词出现的次数. (3)遍历(1)中得到的字符串数组,对于每一个单词,考察Map的key中是否出现过该单词,如果没出现过,map中增加一个元素,key为该单词,value为1(第一次出现): 如果,在map的key中发现了该单词,则通过key找到对应的value(单词出现的次数)

一篇文章让Oracle程序猿学会MySql【未完待续】

一篇文章让Oracle DB学会MySql[未完待续] 随笔前言: 本篇文章是针对已经能够熟练使用Oracle数据库的DB所写的快速学会MySql,为什么敢这么说,是因为本人认为Oracle在功能性方面和难度方面都比MySql要高一些,所以精通Oracle的DB在学习MySql的时候,没有必要从头到尾再去搞一遍,只需要掌握两者的用法区别即可.故本篇文章就针对Oracle和MySql的区别来把MySql的知识掌握住,在文章中,实例都是MySql环境下的实例,而Oracle可能知识一句话来概括,所以

Android:学习AIDL,这一篇文章就够了(上)

前言 在决定用这个标题之前甚是忐忑,主要是担心自己对AIDL的理解不够深入,到时候大家看了之后说--你这是什么玩意儿,就这么点东西就敢说够了?简直是坐井观天不知所谓--那样就很尴尬了.不过又转念一想,我辈年轻人自当有一种一往无前的锐气,标题大气一点岂不更好?并且大家都是文明人,总归更多的是理解与补充而不是侮辱与谩骂?所以最终还是厚颜用了这么一个不怎么有耻的标题. 好了,接下来进入正题,谈谈我对AIDL的理解和认识. 正文 1,概述 AIDL是一个缩写,全称是Android Interface D

看到一篇文章不错哦,互联网史上10大经典商战

一切看似眼花缭乱.万象丛生的东西,无一不是从那个“一”开始. TOP10 百度早期如何打动用户? 案例描述:当年百度的市场份额能获得这么多,真的是搜索技术比谷歌做得好?不是,是因为百度有MP3搜索.民工兄弟们交流的时候肯定不会说:我在用一个搜索引擎,使用了高级的搜索技术.他们会说:有一个网站,上面可以免费听歌,可以免费下歌,你也可以试试.正是这样一个简单的点,打动了越来越多的小白用户,才有了今天的百度. TOP9 QQ如何在免费基础上赚钱? 案例描述:互联网的增值服务模式,外国给它起了个名字,叫

一篇文章 让我对新京报有点失望

写在前面:做新闻的人都知道,写报道还是不要有立场的好,一旦有了,便容易招致非议,尤其是涉及企业的报道. 一家可能很多人都不知道的机票直销平台必去科技的倒闭,究竟会有怎样的影响?新京报新媒体公众号"每日旅游新闻"似乎给了一个答案,但是这个答案,给的奇怪,让人失望.即虽然美团点评投资过必去,但必去的倒闭,对美团点评的发展并没有什么影响,且,通过美团提供的数据和美团高层的多次对外表态,每日旅游新闻的一篇名为"美团点评投资的必去倒了,那美团的机票业务咋样了"得出这样一个结论

我要写一篇文章吗?

我们都有这样的经历:刚学了一个很酷的知识点,或在项目开发中填了一个坑,或做完一项目有了一些心得体会,这时你想写篇文章和其他人分享一下,但还未动笔,心中可能就会闪现这样的想法: 我的文章能够吸引别人来看吗?我写的文章对其他人会有实际的帮助吗?我得花多少时间才能把一篇文章写完啊?哎,算了,我的文笔太烂了. 是的,任何阻止你写文章的想法可能是对的,也可能是错的.但是,我写这篇文章就是要告诉你,无任怎样你都应该把这篇文章写下来. 虽然我的写作经验非常有限,只写过一些技术博文,至今我自己在写新的文章之前还

一篇文章带你了解spring框架

虽然现在流行用SpringBoot了,很多配置已经简化和封装了,但是对于Spring的一些基础我们了解一些是对我们自己的架构思想很有帮助的!接下来和笔者一起来探讨一下Spring框架吧! 1.什么是Spring框架?Spring框架有哪些主要模块? Spring框架是一个为Java应用程序的开发提供了综合.广泛的基础性支持的Java平台.Spring帮助开发者解决了开发中基础性的问题,使得开发人员可以专注于应用程序的开发.Spring框架本身亦是按照设计模式精心打造,这使得我们可以在开发环境中安

很遗憾,没有一篇文章能讲清楚线程的生命周期!

(手机横屏看源码更方便) 注:java源码分析部分如无特殊说明均基于 java8 版本. 简介 大家都知道线程是有生命周期,但是彤哥可以认真负责地告诉你网上几乎没有一篇文章讲得是完全正确的. 常见的错误有:就绪状态.运行中状态(RUNNING).死亡状态.中断状态.只有阻塞没有等待状态.流程图乱画等,最常见的错误就是说线程只有5种状态. 今天这篇文章会彻底讲清楚线程的生命周期,并分析synchronized锁.基于AQS的锁中线程状态变化的逻辑. 所以,对synchronized锁和AQS原理(

一篇文章教你轻松安装hadoop(第2篇)

如果你看了我的上一篇文章,那此时你对hadoop已经有了一个大概的了解,那接下来这篇文章就教大家怎么安装hadoop环境,只要你用心,仔细的跟着文章中讲到的做,肯定能正确安装.     第三章 安装hadoop环境 由于大家在学习hadoop时候,主要以Hadoop 1.0环境为主学习就可以,所以这主要介绍如何搭建Hadoop 1.0分布式环境. 整个分布式环境运行在带有linux操作系统的虚拟机上,至于虚拟机和linux系统的安装这里暂不做过多介绍. 安装Hadoop分布式环境: 1) 下载H