程式設計題 按位元組擷取字串

2021-07-25 13:46:01 字數 1039 閱讀 9716

talk is cheap, show me the code.

編寫乙個擷取字串的函式,輸入為乙個字串和位元組數,輸出為按位元組擷取的字串。但是要保證漢字不被截半個,如」我abc」4,應該截為」我ab」,輸入」我abc漢def」6,應該輸出為」我abc」而不是」我abc+漢的半個」。

輸入描述:

輸入待擷取的字串及長度

輸出描述:

擷取後的字串

輸入例子:

我abc漢def

6

輸出例子:

我abc

按位元組處理字串,做題以來算比較新穎的題目。主要是判斷漢字與字母的區別。當擷取到的乙個位元組如果符號位為1那麼就是漢字,如果符號位為0就是字母,這也是為什麼ascii碼表只有 0-127 個字元的原因。c++的字元char就是乙個位元組的,所以string中的每個字元都是乙個位元組。可以按前面說的邏輯進行判斷區分漢字和字母,但其實沒有必要,因為c++實現的流預設如果輸出的位元組剛好是漢字的一半,則那半個位元組預設就不輸出。用c++解這道題太簡單了。

解題方式1:

直接用c++預設流不輸出半個漢字位元組。

#include #include using namespace std;

int main()

return 0;

}

解題方式2:

用判斷位元組是否不小於128來區分漢字位元組和字母位元組。

#include #include using namespace std;

int main()

return 0;

}

按位元組擷取字串

string test 這是乙個test int length1 test.length 字元數 console.writeline length1 8 test test.substring 0,6 按字元數擷取的 console.writeline test 這是乙個te int length2...

46 按位元組擷取字串

題目描述 編寫乙個擷取字串的函式,輸入為乙個字串和位元組數,輸出為按位元組擷取的字串。但是要保證漢字不被截半個,如 我abc 4,應該截為 我ab 輸入 我abc漢def 6,應該輸出為 我abc 而不是 我abc 漢的半個 輸入描述 輸入待擷取的字串及長度 輸出描述 擷取後的字串 示例1輸入 我a...

華為OJ(按位元組擷取字串)

描述編寫乙個擷取字串的函式,輸入為乙個字串和位元組數,輸出為按位元組擷取的字串。但是要保證漢字不被截半個,如 我abc 4,應該截為 我ab 輸入 我abc漢def 6,應該輸出為 我abc 而不是 我abc 漢的半個 原型 public string cutstring string s,int ...