題目描述
波波同學是位大四的學生,同時也是一位考研er。為了考上北京郵電大學,他準備了很長時間。不久前,考研成績終于公布了。波波登陸了成績查詢網站,發現自己密碼竟然忘記了!但是幸好,他還記得其中的某些字母。請你判斷,他記憶中的字母是否是正確密碼的片段。
輸入
多組樣例,每組樣例有兩行。第一行為正確密碼,第二行為波波記得的密碼片段,'*'號表示波波不知道的密碼片段,可能任意長,也可能為零。每行不超過110字符,首尾不會出現'*'。
輸出
對于每組樣例,能得到正確密碼的輸出yes,不能的輸出no。
樣例輸入
abcdefg ab*f fnoeend f*ed ajfneogbb aj*n*b
樣例輸出
yes
no
yes
?
僅作參考:
#include<stdio.h> #include<string.h> int main() { char str[115],ch[115]; int i,j,lens,lenc,flog,flag; while(scanf("%s",str)>0) { getchar(); scanf("%s",ch); lens=strlen(str); lenc=strlen(ch); flog=1;flag=0; for(i=0,j=0;i<lens&&j<lenc;i++,j++) if(str[i]!=ch[j]&&ch[j]!='*'&&flag==0) { flog=0;break; } else if(ch[j]=='*') { for(j=j+1;j<lenc;j++) if(ch[j]!='*') break; flag=1; i--; j--; } else if(flag==1) { flag=0; int t1,t2; for(i=i;i<lens;i++) { t1=i; t2=j; for(;t2<lenc;t1++,t2++) if(ch[t2]!=str[t1]) break; if(t2==lenc||ch[t2]=='*') { i=t1-1;j=t2-1; break; } } if(i==lens) { flog=0; break; } } if(flog) printf("yes\n"); else printf("no\n"); } return 0; } /* dskajfajfdkkdsj ds***fdk*j djfksaljfdklfjkdsljfklsdjf djf*dk*djfds*djf */
?
?
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
