字串右移n位
阿新 • • 發佈:2019-01-13
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow
也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!
題目:實現字串右移幾位,即 abcd 移兩位變 cdab
思路:
- 申請一個與待移位同樣大小的陣列,用來儲存移位後的字串
- 通過公式計算出簡化的移位數
- 得到某字元移位後的新位置後,就將其字元值存放到新陣列的對應位置
- 迴圈第3步。直至檢測到字串結尾處
- 將新陣列的最後一個位置賦 '\0'
- 輸出移位後的字串
#include <iostream>using namespace std;int main(){ while (1) { int n; //移位數 int index=0; //記錄待移位字串的陣列下標 int move_num=0; //記錄簡化的移位數 char str[]="test"; //待移位字串 int length = strlen(str); char *new_str= new char[length+1]; cin >> n; move_num = n % length; while (*(str + index)) { new_str[(index + move_num) % length] = *(str + index); index++; } new_str[length+1] = '\0'; //別忘記加上結束符 cout << new_str << endl; } return 0;}
後續會增加不同的解法 :)