1005字串匹配問題

2021-08-07 22:41:36 字數 1509 閱讀 2730

題目描述

給出乙個字串和多行文字,在這些文字中找到字串出現的那些行。你的程式還需支援大小寫敏感選項:當選項開啟時,表示同乙個字母的大寫和小寫看作不同的字元;當選項關閉時,表示同乙個字母的大寫和小寫看作相同的字元。

輸入輸入的第一行包含乙個字串s,由大小寫英文本母組成。

第二行包含乙個數字,表示大小寫敏感的選項,當數字為0時表示大小寫不敏感,當數字為1時表示大小寫敏感。

第三行包含乙個整數n,表示給出的文字的行數。

接下來n行,每行包含乙個字串,字串由大小寫英文本母組成,不含空格和其他字元。

輸出輸出多行,每行包含乙個字串,按出現的順序依次給出那些包含了字串s的行。

樣例輸入

hello

1 5

helloworld

hihihellohihi

grepisagreattool

hello

helloisnothello

樣例輸出

helloworld

hihihellohihi

helloisnothello

提示樣例說明

在上面的樣例中,第四個字串雖然也是hello,但是大小寫不正確。如果將輸入的第二行改為0,則第四個字串應該輸出。

評測用例規模與約定

1<=n<=100,每個字串的長度不超過100。

#include

#include

#include

#include

using

namespace

std;

string exchange(string a)

}return a;

}int main()

string::iterator it;

int m;

cin>>m;

string a[m];

int b[m],k=0;

memset(b,0,sizeof(b));

for(int i=0;icin>>a[i];

string c=a[i];

if(key==0)

it=search(c.begin() ,c.end() ,s.begin() ,s.end() );

if( it!=c.end() )

}for(int i=0;iif(b[i]==1)

cout

0;}

這個問題也算是歷史遺留問題了。其實很簡單,用個search或者find函式就ok了。至於我為什麼就這乙個題折騰這麼久還是邏輯能力不夠,考慮問題不夠全面。唉~難過~

第一次發現自己的結果有問題,是因為沒有儲存原來的字串,輸出的是已經大小寫改變過的。。。

第二次是乾脆發現我的大小寫轉換函式壓根就沒用。。。

哈哈哈哈哈,我連函式傳入的是數值不是本身這種最簡單的知識點都忘了。。。

最後就是忘記刪掉自己用來測試的輸出行了。。。

唉~

1005 字串匹配問題

時間限制 1 sec 記憶體限制 256 mb 提交 315 解決 163 提交 狀態 討論版 給出乙個字串和多行文字,在這些文字中找到字串出現的那些行。你的程式還需支援大小寫敏感選項 當選項開啟時,表示同乙個字母的大寫和小寫看作不同的字元 當選項關閉時,表示同乙個字母的大寫和小寫看作相同的字元。輸...

15 字串匹配問題

description given a text txt 0 n 1 and a pattern pat 0 m 1 write a function search char pat,char txt that prints all occurrences of pat in txt.you may...

1355 字串匹配問題 strs

題目描述 字串中只含有括號 判斷輸入的字串中括號是否匹配。如果括號有互相包含的形式,從內到外必須是 例如。輸入 輸出 yes,而輸入 都應該輸出no。輸入 第一行為乙個整數n,表示以下有多少個由括好組成的字串。接下來的n行,每行都是乙個由括號組成的長度不超過255的字串。輸出 在輸出檔案中有n行,每...