码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2017-01-25 18:54:16      阅读:197      评论:0      收藏:0      [点我收藏+]

标签:std   poi   stp   stdio.h   point   单词   oid   osi   getc   

 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 }

 

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

 

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

标签:std   poi   stp   stdio.h   point   单词   oid   osi   getc   

原文地址:http://www.cnblogs.com/preacher/p/6349854.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!