首页 > 代码库 > 从一篇文章中检查特定单词出现数量和第一次出现位置
从一篇文章中检查特定单词出现数量和第一次出现位置
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 }
第一个输入是单词 ,第二个输入是文章 ,回车执行控制台读取。
从一篇文章中检查特定单词出现数量和第一次出现位置
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。