反转整个阵列的程序

时间:2014-03-11 17:05:36

标签: c

有些人可以解释一下这个algorthem ...

我知道它会读取元素......然后几乎没有问题:(有人请详细解释一下这个问题!plesae!

#include <stdio.h>

int main() {
  int array[100], n, c, t, end;


 printf("Enter How mnay Number of elements you want in array:");
  scanf("%d",&n);                                                      
  end = n - 1;              
 printf("Enter %d elements:",n);
  for (c = 0; c < n; c++) {
    scanf("%d", &array[c]);  
  }

  for (c = 0; c < n/2; c++) {  
    t          = array[c];
    array[c]   = array[end];
    array[end] = t;
    end--;
  }

  printf("Reversed array elements are:\n");

  for (c = 0; c < n; c++) {
    printf("%d\n", array[c]);
  }
   return 0;
}

2 个答案:

答案 0 :(得分:0)

您可以通过调试器进行操作。基本上,它首先要求一个数字数组,然后从第一个元素循环到中间一个循环元素在中间之前,中间的相应元素。

一个例子:

1 2 3 4

4 2 3 1

4 3 2 1

答案 1 :(得分:0)

有两个关键的事情:

  1. 看看cend如何随着中间循环的每次迭代而改变
  2. 遍历该循环体,进行1次迭代,看看它是如何工作的。