把一個字串迴圈左移n個字元
原始碼均在XP系統,VS2008下編譯並執行
附上原始碼
#include "stdafx.h"
#include <string.h>
/************************************************************************/
/* 迴圈左移字串N位 */
/************************************************************************/
void lefShift(char *source,int length);
int _tmain(int argc, _TCHAR* argv[]) {
char source[20] = "tangtangtang";
printf("原始字串:%s\n",source);
lefShift(source,2);
printf("移動後:%s\n",source);
getchar();
}
void lefShift(char *source,int length) {
char temp[20];
char *tempPointer = temp;
// 1.儲存移出去的字串
for (int i = 0; i < length;i++)
{
*tempPointer = source[i];
tempPointer ++;
}
*tempPointer = '\0';
// 2.字串整體左移
printf("左移的字元:%s\n",temp);
for (int j = length;j < strlen(source); j++)
{
source[j-length] = source[j];
}
source[strlen(source) - length] = '\0' ;
printf("迴圈移動以後的字串1:%s\n",source);
// 3.拼接字串到原始字串末尾
char *sourcePointer = source;
sourcePointer += strlen(source);
for (int i = 0; i < strlen(temp); i++)
{
*sourcePointer = temp[i];
sourcePointer ++;
}
*sourcePointer = '\0';
printf("迴圈移動以後的字串2:%s\n",source);
}
相關推薦
把一個字串迴圈左移n個字元
原始碼均在XP系統,VS2008下編譯並執行 附上原始碼 #include "stdafx.h" #include <string.h> /***************************************************
編寫一個函式,作用是把一個char組成的字串迴圈右移n個。比如原來是“abcdefghi”如果n=2,移位後應該是“hiabcdefg” 函式頭是這樣的:
void Loopover(char *str,int steps){int len=strlen(str);char tmp[len+3];strcpy(tmp,str+len-steps);strcpy(tmp+2,str);tmp[len]='\0';strcpy(st
將一個順序表實現迴圈左移n個位置後的效果
#include <stdio.h> /* 題目:天勤41頁綜合應用題2 將存放n個整數的順序表迴圈左移P個位置,實現 (X0,X1,...,Xn-1) (Xp,Xp+1,...,Xn-1,X0,X1...,Xp-1) 演算法: 實際的操作並不是對順序表真的進行迴圈左移,而是通過逆序操
【練習題】編寫一個函式,把一個char組成的字串迴圈右移n位
例如:原來是”abcdefghi”,如果n = 2,移位後應該是”hiabcdefg”。 思路:當讀到這個題目的時候,沒有編寫過類似程式的人可能會想,程式的實現就是依照字元的迴圈右移這樣實現的,但仔細想會發現這樣很難實現,不妨換一種思路,我們先把需要移到前面的字元取出來放進
把一個char組成的字串迴圈右移n位
void LoopMove(char *pStr, int steps) { int n = strlen(pStr) - steps; char temp[MAX_LEN]; strcpy(temp, pStr + n); strcpy(temp + steps,
實現字串迴圈右移n 位與左移n位(建立陣列)
編寫一個函式,作用是把一個 char 組成的字串迴圈 右移 n 個。 比如原來是“abcdefghi” 如果 n=2,移位後應該是“hiabcdefgh” 左移n個 比如原來是“abcdefghi
[遞迴] 排列組合 - 從一個字串中任意選取N個元素構成的所有排列組合 - C語言
排列組合 【題目】求從字串中"ABCD"中任取3個元素構成的所有排列組合 A
python-字串迴圈左移
字串迴圈左移 題目內容: 給定一個字串S,要求把S的前k個字元移動到S的尾部,如把字串“abcdef”前面的2個字元‘a’、‘b’移動到字串的尾部,得到新字串“cdefab”,稱作字串迴圈左移k位。 輸入一個字串和一個非負整數N,要求將字串迴圈左移N次。 可以使用以下語句實現字串s的
C語言實現字串迴圈左移和右移
C語言實現迴圈左移和右移這個沒有什麼好說的,直接上程式碼:#include <stdio.h> //寫一個函式 實現功能:輸入字串,向右迴圈或者逆時針移動N位元組,再輸出這個字串 /* //比如:左移2位元組 //左邊不變,右邊變 p[0
字串迴圈左移 (20分)
5-31 字串迴圈左移 (20分) 輸入一個字串和一個非負整數NN,要求將字串迴圈左移NN次。 輸入格式: 輸入在第1行中給出一個不超過100個字元長度的、以回車結束的非空字串;第2行
字串--------迴圈左移
已知字元陣列 abcdef 迴圈左移2位 輸出cdefab 方法:三次反轉 public class Solution { public static void main(String[] args) { char[] s=new char[]{'
字串迴圈左移(20)
#include<stdio.h> #include<string.h> void reverse(char *s,int low,int high) { char t; while(low<high) { t=*(s+low);
PTA7-31 字串迴圈左移(20 分)通俗解法
輸入一個字串和一個非負整數N,要求將字串迴圈左移N次。輸入格式:輸入在第1行中給出一個不超過100個字元長度的、以回車結束的非空字串;第2行給出非負整數N。輸出格式:在一行中輸出迴圈左移N次後的字串。輸入樣例:Hello World!2輸出樣例:llo World!He 讀題
7-21 字串迴圈左移(20 分)
輸入一個字串和一個非負整數N,要求將字串迴圈左移N次。 輸入格式: 輸入在第1行中給出一個不超過100個字元長度的、以回車結束的非空字串;第2行給出非負整數N。 輸出格式: 在一行中輸出迴圈左移N次後的字串。 輸入樣例: Hello World! 2 輸出
字串-05. 字串迴圈左移(20)
輸入一個字串和一個非負整數N,要求將字串迴圈左移N次。 輸入格式: 輸入在第1行中給出一個不超過100個字元長度的、以回車結束的非空字串;第2行給出非負整數N。 輸出格式: 在一行中輸出迴圈左移N次後的字串。 輸入樣例: Hello World! 2 輸出樣例:
PAT 10-4. 字串迴圈10-4. 字串迴圈左移(20)
##10-4. 字串迴圈10-4. 字串迴圈左移(20) —- 輸入一個字串和一個非負整數N,要求將字串迴圈左移N次。 輸入格式: 輸入在第1行中給出一個不超過100個字元長度的、以回車結束的非空字串;第2行給出非負整數N。 輸出格式: 在一行中輸出迴圈左移N次
PAT-JAVA-5-31 字串迴圈左移 (20分)
5-31 字串迴圈左移 (20分) 輸入一個字串和一個非負整數NN,要求將字串迴圈左移NN次。 輸入格式: 輸入在第1行中給出一個不超過100個字元長度的、以回車結束的非空字串;第2行給出
5-31 字串迴圈左移
輸入一個字串和一個非負整數N,要求將字串迴圈左移N次。 輸入格式: 輸入在第1行中給出一個不超過100個字元長度的、以回車結束的非空字串;第2行給出非負整數NN。 輸出格式: 在一行中輸出迴圈左
7-31 字串迴圈左移(20 分)Java實現
7-31 字串迴圈左移(20 分) 輸入一個字串和一個非負整數N,要求將字串迴圈左移N次。 輸入格式: 輸入在第1行中給出一個不超過100個字元長度的、以回車結束的非空字串;第2行給出非負整數N。 輸出格式: 在一行中輸出迴圈左移N次後的字串。 輸入
擷取字串,改變第N個字元的顏色;自定義方法,oncreat中呼叫
用到過很多次,每次在用的時候,思路就會斷線,以此特意寫出來,幫助自己記憶; 修改TextView 中部分文字的顏色 textView = (TextView) findViewById(R.id.textview); SpannableStringBuilder bui