从一篇文章中检查特定单词出现数量和第一次出现位置
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 }
第一个输入是单词 ,第二个输入是文章 ,回车执行控制台读取。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· 展开说说关于C#中ORM框架的用法!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?