C 中反向复制数组的程序

此程序将帮助您学习数组的基础知识之一。我们将反向复制一个数组到另一个数组中。

算法

首先让我们看看这个程序的分步过程 −

开始
步骤 1 → 取两个数组 A、B
步骤 2 → 将值存储在 A 中
步骤 3 → 将 count 设置为 sizeof(A)
步骤 4 → 对 A 的每个值进行循环
步骤 5 → 将 A[loop] 复制到 B[count]
步骤 6 → 减少 count
步骤 7 → 显示 B
停止

伪代码

现在让我们看看这个算法的伪代码 −

procedure reversecopy_array(A, B)

   SET index to 1
   Set count to sizeof(A)
   FOR EACH value in A DO
      B[count] = A[index]
      INCREMENT index
      DECREMENT count
   END FOR
   DISPLAY B
   
end procedure

实现

上述推导的伪代码的实现如下 −

#include <stdio.h>

int main() {
   int original[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 0};
   int copied[10];
   int loop, count;
   
   count = 9;
   
   for(loop = 0; loop < 10; loop++) {
      copied[count] = original[loop];
      count--;
   }
      
   printf("original -> copied 
");
   
   for(loop = 0; loop < 10; loop++) {
      printf("   %2d        %2d
", original[loop], copied[loop]);
   }

   return 0;
}

输出应如下所示 −

original -> copied
    1         0
    2         9
    3         8
    4         7
    5         6
    6         5
    7         4
    8         3
    9         2
    0         1

array_examples_in_c.html