94 求字串的起始位置

2022-10-08 19:30:10 字數 1245 閱讀 5633

問題描述 :

在程式設計中,對字串的處理是經常遇到的乙個問題。

例如,將字串中所有的英文本母變成大寫,或者將乙個字串與另乙個字串連線構成乙個新的字串。

由於此類的操作非常普遍,因此,在設計程式語言的時候,設計者就已經把這類操作的**寫好了,如果程式設計人員要使用這些**,只需把該類**的標頭檔案包含到自己的程式中,程式設計人員就可以很簡單的呼叫,這樣使程式設計節省了不少時間。

明明是一名專案經理,他現在負責一種新的程式語言的開發,現在需要預先實現大量的和處理字串有關的功能方法,以後這些方法會包含到程式語言中,方便程式語言使用者的開發。你是明明手下的一名軟體工程師,明明分配給你乙個任務,在兩個字串中,找到乙個字串在另乙個字串中的起始位置。 例如,有兩個字串,乙個字串s= 「abc」,另乙個字串subs=「bc」,現在就要找出「bc」在「abc」中的其實位置,在這個例子中,「bc」的起始位置為2。

明明的問題可以歸結為:輸入兩串字串s和subs,求s中subs的起始位置。

輸入說明 :

你寫的程式要求從標準輸入裝置中讀入測試資料作為你所寫程式的輸入資料。標準輸入裝置中有多組測試資料,每組測試資料兩行,每組測試資料的第一行為字串s,s的長度小於100,每組測試資料的第二行為字串subs,subs的長度小於100,s和subs中僅包含小寫字母和數字。每組測試資料與其後一組測試資料之間沒有任何空行,第一組測試資料前面以及最後一組測試資料後面也都沒有任何空行。

輸出說明 :

對於每一組測試資料,你寫的程式要求計算出一組相應的運算結果,並將這一組運算結果作為你所寫程式的輸出資料依次寫入到標準輸出裝置中。每組運算結果為乙個整數m,即subs在s中的起始位置,如果在s中找不到subs這個子串,則m=0。每組運算結果單獨形成一行資料,其行首和行尾都沒有任何空格,每組運算結果與其後一組運算結果之間沒有任何空行,第一組運算結果前面以及最後一組運算結果後面也都沒有任何空行。 注:通常,顯示屏為標準輸出裝置。

輸入範例 :

abcbc

aaabbb

輸出範例 :20

思想:暴力遍歷,逐個比較,標誌位標記是否找到解。

#include #include 

intmain()

if(s1[cur]!=s2[j])

else

}//已經找到了位置

if(flag==0

) }

//沒找到解

if(flag)

else}}

return0;

}

求給定的起始和結束字串中間的時間字串集合

如題,在資料量比較大的表中,我們常常需要按時間 年 月或日 分表,加上乙個日期的字串字尾。而這種情形下,當使用者給定了起始和結束的時間字串時,我們就需要根據這2個字串 判斷中間到底跨越了幾張同型別的按時間作為字尾的表。通常,用union all直接將多個表的查詢語句拼接在一條sql裡面,而非每張表都...

C 替換字串起始 結尾指定的字串

region 替換字串起始位置 開頭 中指定的字串 替換字串起始位置 開頭 中指定的字串 源串 查詢的串 替換的目標串 public static string cutstarstr string s,string searchstr,string replacestr if s.length if...

C 輸出字串的起始位址

先給出通過字元型指標輸出字串的示例 如下 include usingstd cout usingstd endl intmain include intmain 兄弟,醒醒吧,咱們要寫的是c 不要總是抓著c不放嘛。好了,我們來分析一下,由於c 標準庫中i o類對 操作符過載,因此在遇到字元型指標時會...