1. 程式人生 > >把一個字串迴圈左移n個字元

把一個字串迴圈左移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