字串匹配

2021-06-05 10:01:04 字數 1209 閱讀 5665

題目描述:讀入資料string[ ],然後讀入乙個短字串。要求查詢string[ ]中和短字串的所有匹配,輸出行號、匹配字串。匹配時不區分大小寫,並且可以有乙個用中括號表示的模式匹配。如「aa[123]bb」,就是說aa1bb、aa2bb、aa3bb都算匹配。

輸入:輸入有多組資料。

每組資料第一行輸入n(1<=n<=1000),從第二行開始輸入n個字串(不含空格),接下來輸入乙個匹配字串。

輸出:輸出匹配到的字串的行號和該字串(匹配時不區分大小寫)。

樣例輸入:

4

aaba2b

ababb

a[a2b]b

樣例輸出:

1 aab

2 a2b

4 abb

2023年北京航空航天大學計算機研究生機試真題

實現**:

#include#include#define max_length  20

static int isup(char ch) //是否是大寫字母

static int islow(char ch) //是否是小寫字母

static int is_equ(char ch1,char ch2) //判斷兩個字元是否相等,若是字母則忽略大小寫

int main(void)

pattern = (char *)malloc(max_length*sizeof(char));

scanf("%s",pattern);

for (i=0;iif (pattern[k]==']') //pattern的內沒有乙個字元與str[i][j]匹配

break;

else //pattern的內有乙個字元與str[i][j]匹配

}else

k++;

j++;

} if(!str[i][j]&&!pattern[k]) //都同時達到串的末尾,說明整個串匹配成功,輸出

printf("%d %s\n",i+1,str[i]);

} for(i=0;ifree(str[i]);

free(str);

free(pattern);

return 0;

}

字串匹配

time limit 1000ms memory limit 65536k 給定兩個字串string1和string2,判斷string2是否為string1的子串。輸入包含多組資料,每組測試資料報含兩行,第一行代表string1,第二行代表string2,string1和string2中保證不出現...

字串匹配

面試題 給一串很長的字串,要求找到符合要求的字串,例如目的串 123 1 3 2 12 3 這些都要找出來 思路一 利用兩層迴圈,逐個查詢目的串中的字元,比如先查詢字元 1 是否在長字串中,再查詢 2 是否在長字串中,直到目的串遇到 0 是 include include include int m...

字串匹配

這一道題類似正規表示式 實現支援如下特性的字串匹配程式 1 可匹配任意字元 0 次或者 1 次,如 a?可匹配 a 或者 2 可匹配任意單個字元 3 可匹配任意字元任意多次,如 a 可匹配 a aa 4 可匹配任意字元至少 1 次,如 a 可匹配 a aa 該項可選 輸入 模式字串和待匹配字串,如 ...