CSP考试 2014年09月第3题 字符串匹配 C语言实现
来源:互联网 发布:红蜘蛛控制软件 编辑:程序博客网 时间:2024/04/29 18:16
#include <stdio.h>#include <string.h>int main(){/*char* find="Hello";int flag=1;int NUM=5;char* a[NUM];a[0]="HelloWorld";a[1]="HiHiHelloHiHi";a[2]="GrepIsAGreatTool";a[3]="HELLO";a[4]="HELLOisNOTHello";*/int i;char find[100];for(i=0;i<100;i++){find[i]='\0';}int flag;int NUM;scanf("%s",&find);scanf("%d",&flag);scanf("%d",&NUM);char a[NUM][100];int j;for(j=0;j<NUM;j++){for(i=0;i<100;i++){a[j][i]='\0';}}for(j=0;j<NUM;j++){scanf("%s",&a[j]);}int x=strlen(find);if(flag==1){for(j=0;j<NUM;j++){int y=strlen(a[j]);int f=0;for(i=0;i<y-x+1;i++){//printf("i %d\n",i);//printf("strncmp %d\n",strncmp(find,a[0]+i,x));if(!strncmp(find,a[j]+i,x)){f=1;break;//printf("i %d\n",i);}}if(f==1){printf("%s\n",a[j]);}} } //printf("%d\n",'b'-'B'); if(flag==0) { for(j=0;j<NUM;j++) { //printf("j %d\n",j); int y=strlen(a[j]); for(i=0;i<y-x+1;i++){int k;int h=0;for(k=0;k<x;k++){if(find[k]!='\0'){if(find[k]==a[j][h+i]){h++;}else if((find[k]<='z')&&(find[k]>='a')){if((find[k]-32)==a[j][h+i]){h++;}else{//h=0;break;}}else if((find[k]<='Z')&&(find[k]>='A')){if((find[k]+32)==a[j][h+i]){h++;}else{//h=0;break;}}else{//h=0;break;} }}//printf("h %d\n",h);if(h==x){printf("%s\n",a[j]);break;}}}}return 0;}
0 0
- CSP考试 2014年09月第3题 字符串匹配 C语言实现
- CSP考试 2014年09月第1题 相邻数对 C语言实现
- CSP考试 2014年09月第2题 画图 C语言实现
- CSP考试 2015年09月第3题 C语言实现
- CSP考试 2015年09月第4题 C语言实现
- CSP考试 2014年03月第1题 相反数 C语言实现
- CSP考试 2014年12月第1题 门禁系统 C语言实现
- CSP考试 2014年12月第2题 Z字形扫描 C语言实现
- CSP考试 2014年12月第4题 C语言实现
- CSP考试 2014年03月第2题 窗口 C语言实现
- CSP考试 2014年12月第4题 最优灌溉 C语言实现
- CSP考试 2013年12月第3题 最大矩形 C语言实现
- CSP考试 2015年03月第3题 节日 C语言实现
- CSP考试 2015年9月第1题 数列分段 C语言实现
- CSP考试 2015年9月第2题 日期计算 C语言实现
- CSP考试 2015年03月第1题 图像旋转 C语言实现
- CSP考试 2015年03月第2题 数字排序 C语言实现
- CSP考试 2013年12月第2题 ISBN号码 C语言实现
- Hark语音识别学习(二)--HARK数据类型
- 5种css图片浮动效果
- C++设计模式<五>:Observe观察者模式
- 算法复习-红黑树-c++实现
- 【机房重构】策略模式
- CSP考试 2014年09月第3题 字符串匹配 C语言实现
- 动态规划-流水线问题
- python os.path与路径相关的
- 题目1435:迷瘴
- linux挂载第二硬盘的lvm分区方法
- navigationBar导航条和navigationItem设置:基本搞定导航条上的文字和按钮以及各种跳转
- 9.读写分离
- Leetcode no. 228
- [LeetCode]63. Unique Paths II