字串處理 FY的藍橋

2021-10-07 16:44:46 字數 1329 閱讀 8906

字串字串操作函式

字串顧名思義就是一串字元,我們在對字串操作時需要呼叫乙個新的庫

#include

當然,在你只需要讀入字串的時候不需要這個庫。

scanf我們通常用來讀取類似於單詞的一整串字元,比如**「ddsfk541tegdfasd」**

裡面的字元有多麼亂都不歸我們管,我們只需要知道他是連續的就可以,具體操作為:

scanf("%s",str);

在讀入字串的時候,str前不需要加取位址符&,原因是字串的讀取類似於字元指標,這個以後有機會再講。需要注意的是scanf讀不進空格!,空格會被類似於回車讀取,在字串中途讀入空格會提前結束scanf讀取,在字串前的空格會提示重新讀取。

gets()為stdio.h庫中的函式,也是讀入字串,關鍵是gets可以讀入空格,只有在回車時才會退出讀取,理論上gets讀取是無限的,所以在使用gets讀取時要注意讀取字串的長度,注意空間不要越界。具體操作為:

gets(str);

gets的使用範圍比較廣,需要注意的是在連續使用gets或者gets和scanf混合使用時需要注意關於回車的操作,應該用乙個getchar()去抵消。

別的不說,先把string.h庫給寫上頭檔案。

字串比較函式,具體用法為:

strcmp(str1,str2);

其中str1和str2是兩個字串,如果 str1 小於 str2 返回 < 0; 如果 str1 大於 str2 返回 > 0;如果兩者相等,返回 0。在競賽中經常使用這種方法去進行字串比較,當然你也可以通過構造乙個函式,進行遍歷比較也行。可以嘗試自己構造一下這個函式,

字串複製函式,具體用法為:

strcpy(str1,str2);

意思是將str2賦值給str1,具體是通過傳址操作的,我們不需要去了解,需要注意的是str1的空間必須足夠。

字串長度函式,具體用法為:

strlen(str);

意思是返回字串長度,是整型。這個函式也比較常用,通常在回文字串判斷時使用,需要注意的是,字串的儲存是從0位址開始,所以字串終止位址是strlen(str)-1,當然,有的讀取字串包含末尾的『\0』,這個是不會被strlen讀取的。

在競賽中,字元的考查是經常出現的,之後我會間歇性的補充題目,一般的字串型別題目都是對一串字元進行單一字元更改或者權值判斷或者最簡單的回文判斷,這些都是利用到strlen函式,所以在只考慮部分點得分時,對strlen這個函式的把控就得到位了。

藍橋杯 週期字串 字串處理

演算法提高 週期字串 時間限制 1.0s 記憶體限制 256.0mb 問題描述 右右喜歡聽故事,但是右右的媽媽總是講一些 從前有座山,山里有座廟,廟裡有個老和尚給小和尚講故事,講的什麼呢?從前有座山 這樣迴圈的故事來搪塞右右。我們定義,如果乙個字串是以乙個或者乙個以上的長度為k的重複字串所連線成的,...

字串處理 字串反轉

請原諒博主今天很閒,於是乎博主又開始更新微博了。這次要更新的問題是 編寫乙個函式,反轉乙個單詞的順序。例如 do or do not,there is no try.就要反轉成 try.no is there not,do or do 大家要認真看看這道題,這道題和大家想象的貌似有點不同。首先字串反...

字串的處理

st shig echo st 0 echo st 1 echo st 2 echo st 3 echo st.echo st.echo st.echo st.s echo strrev s fopen s,r or die 開啟失敗 echo n 547 sdhfue echo trim n,0....