萬用字元是一類鍵盤字元,當我們不知道真正字元或者不想鍵入完整名字時,常常使用萬用字元代替乙個或多個真正字元。萬用字元有問號(?)和星號(*)等,其中,「?」可以代替乙個字元,而「*」可以代替零個或多個字元。
你的任務是,給出乙個帶有萬用字元的字串和乙個不帶萬用字元的字串,判斷他們是否能夠匹配。
例如,1?456 可以匹配 12456、13456、1a456,但是卻不能夠匹配23456、1aa456;
2*77?8可以匹配 24457798、237708、27798。
輸入有兩行,每行為乙個不超過20個字元的字串,第一行帶萬用字元,第二行不帶萬用字元
如果兩者可以匹配,就輸出「matched」,否則輸出「not matched」
1*456?
11111114567
matched
模擬字串匹配的過程,注意下面幾個測試樣例
123*45*6
1237894523454336
*?
123456
2*77?8
24457798
以下就是滿分的ac**:
#include #include char str1[21];
char str2[21];
char temp[21];
char* mystrstr(char* s1,char* s2)
else if(s2[j]=='?')
else break;
}if(j==len2)
}return null;
}int main()
else
temp[p2]='\0';
char* p3=str2+j;
while(mystrstr(p3,temp))
j=(p3-str2);
i+=strlen(temp);}}
else if(str1[i]=='?')
else
else}}
while(i}
if(i==len1&&j==len2&&flag) printf("matched\n");
else printf("not matched\n");
return 0;
}
帶萬用字元的整數
package test time 2014 3 13 encode utf 8 question 給定乙個帶萬用字元問號的數w,問號可以代表任意乙個一位數字。再給定乙個整數x,和w具有同樣的長度。問有多少個整數符合w的形式並且比x大?public class algo 1 return r par...
帶萬用字元的數
給定乙個帶萬用字元問號的數w,問號可以代表任意乙個一位數字。再給定乙個整數x,和w具有同樣的長度。問有多少個整數符合w的形式並且比x大?輸入格式 多組資料,每組資料兩行,第一行是w,第二行是x,它們長度相同。在 1.10 之間.輸出格式 每行乙個整數表示結果。答題說明 輸入樣例 36?1?8 236...
android sqlite 查詢帶萬用字元的資料
sqlite中 代表任意多個字元 代表乙個字元 即下面搜尋的內容可能是aatest aaaatest等 select fromdb namewherecolumn like test 即下面搜尋的內容可能是atest btest等,但是長度固定位5個字元 select fromdb namewher...