C程序反转数组元素
假设我们有一个包含 n 元素的数组。我们需要将 数组中的元素 反转并显示出来(不要按相反的顺序打印它们,直接在原数组中反转元素)。
因此,如果输入如下: n = 6 arr = [9, 8, 7, 2, 4, 3],那么输出将是[3,4,2,7,8,9]。
要解决这个问题,我们将按照以下步骤进行:
- 初始化 i := 0,当 i < n/2 的商时,更新(增加 i 1),执行以下步骤:
- temp := arr[i]
- arr[i] := arr[n – i – 1]
- arr[n – i – 1] := temp
- 初始化 i := 0,当 i < n 时,更新(增加 i 1),执行以下步骤:
- 显示 arr[i]
例
我们来看下面的实现,以便更好地理解 −
#include <stdio.h>
#include <stdlib.h>
#define n 6
int main(){
int arr[n] = {9, 8, 7, 2, 4, 3};
int temp;
for(int i = 0; i<n/2; i++){
temp = arr[i];
arr[i] = arr[n-i-1];
arr[n-i-1] = temp;
}
for(int i = 0; i < n; i++){
printf("%d,", arr[i]);
}
}
输入
6, 9, 8, 7, 2, 4, 3
输出
3,4,2,7,8,9,