亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

c語言字符串循環右移怎么實現

小億
221
2023-11-06 11:28:49
欄目: 編程語言

C語言字符串循環右移可以通過以下步驟實現:

  1. 定義一個字符數組,存儲原始字符串。
  2. 定義一個變量n,表示要右移的位數。
  3. 計算字符串的長度len。
  4. 若n大于len,則取n對len取余作為右移的實際位數。
  5. 創建一個臨時字符數組temp,長度為len。
  6. 將原始字符串的后n位復制到temp數組的前n位。
  7. 將原始字符串的前len-n位復制到temp數組的第n位到len-1位。
  8. 將temp數組復制到原始字符串數組。
  9. 輸出右移后的字符串。

以下是一個示例代碼:

#include <stdio.h>
#include <string.h>

void rightRotateString(char str[], int n) {
    int len = strlen(str);
    n = n % len;
    char temp[len];
    
    // 復制后n位到臨時數組的前n位
    strncpy(temp, str + len - n, n);
    
    // 復制前len-n位到臨時數組的第n位到len-1位
    strncpy(temp + n, str, len - n);
    
    // 將臨時數組復制到原始數組
    strncpy(str, temp, len);
}

int main() {
    char str[] = "abcde";
    int n = 2;
    
    printf("原始字符串:%s\n", str);
  
    rightRotateString(str, n);
    
    printf("右移后的字符串:%s\n", str);
    
    return 0;
}

運行上述代碼,輸出結果為:

原始字符串:abcde
右移后的字符串:deabc

注意,上述代碼使用了strncpy函數進行字符串的復制,該函數會在目標字符串的末尾自動添加字符串結束符’\0’。

0
肃南| 阿拉善左旗| 西畴县| 二连浩特市| 塔河县| 永清县| 清苑县| 千阳县| 衡阳县| 宜君县| 白城市| 香河县| 广东省| 石阡县| 延安市| 辽中县| 于都县| 黄山市| 淮安市| 平和县| 舞钢市| 昌乐县| 册亨县| 钦州市| 麻城市| 赣榆县| 沁源县| 奎屯市| 永靖县| 红原县| 无棣县| 连南| 双牌县| 迁西县| 个旧市| 图们市| 庄浪县| 上饶县| 革吉县| 新巴尔虎右旗| 什邡市|