有乙個單詞 w,輸出它在字串 s 中從左到右第一次出現的位置 idx(設 s 中的第 1 個字元的位置為 1)。w 只由英文本母組成,s 除英文本母和漢字之外在任何位置(包括頭和尾)另有乙個或多個連續的空格。
查詢單詞時,不區分大小寫,但要求完全匹配,即單詞 w 必須與 s 中的某一獨立單詞在不區分大小寫的情況下完全匹配。w 僅是 s 中某一單詞的一部分就不算匹配。
1 #include 2 #include 3 #include4#define length 1000001
5void strlwr(char *s)614
}15intmain()
1646
47if (p == 0
)48 printf("
case #%d:\nnone\n
", s);
49else
5054}55
return0;
5657 }
c++實現
1 #include 2 #include 3 #include4using
namespace
std;
5string strlwr(string
a)10
intmain()
1126
27else31}
32if(flag) printf("
case #%d:\nnone\n
",m);
33else printf("
case #%d:\n%d\n
",m,pos);34}
35return0;
36 }
以上是我的**,思路是一樣的,c可以控制strstr從指標處開始尋找,而c++的find似乎沒有從字串的某一位置開始找的功能,因此只好用erase刪除,並且還要注意後續對pos的操作。
然後在討論區看到了更精簡的,直接在find的時候新增空格以此確定是不是單獨的單詞就行了!
1 #include 2using
namespace
std;
3int
main()
18else
if(s1.find(s+"
")!=-1) cout<<"
case #
"<":"
<"
")+2
<19else cout<<"
case #
"<":"
<"
none
"<21 }
(以上1,3**來自討論區和資料區
EOJ 排序 1072 小強的單詞本
1072.小強的單詞本 大二的小強馬上就要英語四級考試了,小強不想像別人一樣拿著四級詞彙書背啊背,於是他決定每天閱讀幾篇英語文章,並把其 中需要記憶的單詞寫到 notobook 上,一周之後問題來了,單詞太亂了,現在小強決定請學計算機的同學你幫他解決這個問題。輸入第一行為乙個數字 n 0 n 100...
EOJ 1018 單詞的劃分 DP STL
有乙個很長的由小寫字母組成字串。為了便於對這個字串進行分析,需要將它劃分成若干個部分,每個部分稱為乙個單詞。出於減少分析量的目的,我們希望劃分出的單詞數越少越好。你就是來完成這一劃分工作的。第一行為一整數 t,表示有 t 組測試資料。每組測試資料第一行為一字串。長度小於 256 第二行為一整數 n。...
單詞查詢樹
兩種方法 給出一些列號碼,若果任乙個號碼不在另乙個中充當字首,那麼這系列號碼是合理的輸出yes,否則輸出no 思路 標頭檔案中find函式的使用,按長度從小到大排列,那麼能當另乙個號碼字首的只能是前乙個當後乙個的字首,所以乙個乙個找 時間複雜度 o n include include include...