乙個字串和乙個正整數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...