近期公司筆試題(4)

2021-08-27 05:39:33 字數 950 閱讀 3903

乙個字串和乙個正整數k,你需要對從字串開頭算起的每3k個字元的前k個字元進行反轉。如果剩餘少於k個字元,則將所剩餘的所有字串全部反轉。如果小於3k但是大於或等於k個字元,則反轉前k個字元,並將所剩餘的字元保持原樣。

輸入描述:

輸入需要反轉的字串s與正整數k(k>0)

輸出描述:

輸出經過反轉後的字串

例項1輸入

welcometokeep 2

輸出ewlcomteokeep

採用遞迴解法,判斷剩餘字串與總字元長度的關係進行分支實現要求的移動。無返回型別直接對字串中字元進行了移動反轉。

#includeusing namespace std;

#includevoid fun(char *str, int k)

//for (int j = k - 1; j >= 0; j--)

// cout<<*(str + j);

//for (int i = k; i < 3 * k; ++i) //每次反正前k個字元

// cout << *(str + i);

char tmp;

for (int m = 0, j = k - 1; m <= k / 2, j >= k / 2; m++, j--)

overlen -= 3*k;

if (3 * k < overlen)

fun((str + 3 * k), k);

if (overlen < k)//如果剩餘字元小於k ,則剩餘全部反轉 }

else if (overlen < 3 * k || overlen == k)//如果剩餘字元小於3k,或是等於k 則反轉k個字元 }

}int main()

{ char a = "welcometokeep";

cout << a << endl;

fun(a, 2);

cout <

cbc公司筆試題

個人面試經驗總結的cbc公司筆試題,均為面試100題裡面的題 1.public private protected.那幾個的區別 2.asp.net 頁面之間傳值的幾種方法 3.委託是什麼 事件是不是一種委託 4.override與過載的區別 5.什麼是強型別 什麼是弱型別 6.assembly.l...

某公司初級運維崗位筆試題4

中xx匯x公司運維筆試題 選擇題下列系統預設埠號錯誤的是 c a ssh 埠 22 b mysql埠 3306 c telent 埠 20 d https 埠 443 linux系統中檢視ip位址的命令是 b a ipconfig b ifconfig c icmp d iptables 進入cis...

單詞查詢(公司筆試題)

測試樣例 5 5 3 hello help high p a b h m f h e c p o i l l h b g h o n h x c m l wordfind.cpp 定義控制台應用程式的入口點。include stdafx.h include include include defin...