13. C 语言程序,用于将数组元素向右旋转

2025年1月5日 | 阅读 2 分钟

在此程序中,我们需要将数组元素向右旋转指定次数。如果数组的所有元素都向右移动一个位置,则称数组已向右旋转。一种方法是通过将数组的每个元素移动到其下一个位置来遍历数组。数组的最后一个元素将成为旋转数组的第一个元素。

C program to right rotate the elements of an array

考虑上面的数组,如果 n 为 1,则数组的所有元素将向右移动一个位置,即数组的第一个元素将占据第二个位置,第二个元素将移动到第三个位置,依此类推。数组的最后一个元素将成为数组的第一个元素。

算法

  • 步骤 1: 开始
  • 步骤 2: 初始化 arr[] ={1, 2, 3, 4, 5}。
  • 步骤 3: length = sizeof(arr)/sizeof(arr[0])
  • 步骤 4: 设置 n = 3
  • 步骤 5: 打印“原始数组”
  • 步骤 6: 设置 i = 0。重复步骤 7 和步骤 8,直到 i < length
  • 步骤 7: 打印 arr[i]
  • 步骤 8: i = i + 1。
  • 步骤 9: 设置 i = 0。重复步骤 10 到步骤 16,直到 i < n
  • 步骤 10: 定义 j,last。
  • 步骤 11: last = arr[length-1]
  • 步骤 12: 设置 j = length-1。重复步骤 13 和步骤 14,直到 j > 0
  • 步骤 13: arr[j] = arr[j-1]
  • 步骤 14: j = j-1。
  • 步骤 15: arr[0] = last
  • 步骤 16: i = i + 1。
  • 步骤 17: 打印“右旋后的数组”
  • 步骤 18: 设置 i = 0。重复步骤 19 和步骤 20,直到 i < length
  • 步骤 19: 打印 arr[i]
  • 步骤 20: i = i + 1。
  • 步骤 21: 返回 0。
  • 步骤 22: 结束。

程序

输出

Original Array:
1   2   3   4   5
Array after right rotation:
3   4   5   1   2   

下一个主题C 语言 MCQ