CCF - 201409-3 - 字符串匹配
生活随笔
收集整理的這篇文章主要介紹了
CCF - 201409-3 - 字符串匹配
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
問題描述
| 試題編號: | 201409-3 |
| 試題名稱: | 字符串匹配 |
| 時間限制: | 1.0s |
| 內存限制: | 256.0MB |
| 問題描述: | 問題描述 給出一個字符串和多行文字,在這些文字中找到字符串出現的那些行。你的程序還需支持大小寫敏感選項:當選項打開時,表示同一個字母的大寫和小寫看作不同的字符;當選項關閉時,表示同一個字母的大寫和小寫看作相同的字符。 輸入格式 輸入的第一行包含一個字符串S,由大小寫英文字母組成。 第二行包含一個數字,表示大小寫敏感的選項,當數字為0時表示大小寫不敏感,當數字為1時表示大小寫敏感。 第三行包含一個整數n,表示給出的文字的行數。 接下來n行,每行包含一個字符串,字符串由大小寫英文字母組成,不含空格和其他字符。 輸出格式 輸出多行,每行包含一個字符串,按出現的順序依次給出那些包含了字符串S的行。 樣例輸入 Hello 1 5 HelloWorld HiHiHelloHiHi GrepIsAGreatTool HELLO HELLOisNOTHello 樣例輸出 HelloWorld HiHiHelloHiHi HELLOisNOTHello 樣例說明 在上面的樣例中,第四個字符串雖然也是Hello,但是大小寫不正確。如果將輸入的第二行改為0,則第四個字符串應該輸出。 評測用例規模與約定 1<=n<=100,每個字符串的長度不超過100。 |
思路
用C++的string變量實現。
在Gcc環境中,不支持小寫轉換函數strlwr();
在Dev-C++環境中,是支持函數strlwr()的。 代碼
#include<iostream> #include<cstring> using namespace std; int main() {char key[101],s[101],lowerkey[101],lowers[101];int option,n;cin>>key>>option>> n;// 獲得key的小寫字符串,放在變量lowerkey中 strcpy(lowerkey,key);strlwr(lowerkey);while(n--){cin>>s;if(option==0) // 大小寫無關 {strcpy(lowers,s);strlwr(lowers);if(strstr(lowers,lowerkey))cout<<s<<endl;}else // option=1,大小寫有關 {if(strstr(s,key))cout<<s<<endl;}}return 0; }
?
轉載于:https://www.cnblogs.com/5211314jackrose/p/7530739.html
總結
以上是生活随笔為你收集整理的CCF - 201409-3 - 字符串匹配的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 女士燃油摩托车电瓶多少钱?
- 下一篇: 国窖1573多少钱一瓶