用c语言编辑,定义一个长度为N的一维整数数组,在不新增数组情况下,编写程序将其中的值逆序重新存放。即第一个元素和最后一个元素交换位置,第二个元素和倒数第二个元素交换位置……
时间: 2023-12-14 13:37:33 浏览: 74
以下是使用C语言编写的将一维整数数组逆序存放的程序:
```c
#include <stdio.h>
#define N 10
int main() {
int arr[N];
int i, temp;
// 初始化数组
for (i = 0; i < N; i++) {
arr[i] = i;
}
// 输出原始数组
printf("Original array: ");
for (i = 0; i < N; i++) {
printf("%d ", arr[i]);
}
printf("\n");
// 逆序存放数组
for (i = 0; i < N/2; i++) {
temp = arr[i];
arr[i] = arr[N-1-i];
arr[N-1-i] = temp;
}
// 输出逆序数组
printf("Reversed array: ");
for (i = 0; i < N; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
在上述程序中,我们首先定义了一个长度为N的一维整数数组arr。然后,我们使用for循环初始化数组,将每个元素赋值为其下标值。接下来,我们输出原始数组,以验证初始化是否正确。
在逆序存放数组的代码中,我们使用了一个for循环,循环次数为数组长度的一半(即N/2)。循环中,我们定义了一个临时变量temp,用于交换两个元素的值。具体地,我们将第i个元素的值存入temp,然后将第N-1-i个元素的值存入第i个元素中,最后将temp的值存入第N-1-i个元素中,从而完成了这两个元素的交换。最终,我们输出逆序数组,以验证逆序过程是否正确。
需要注意的是,上述程序中我们使用了C语言中的define预处理指令,将数组长度N定义为10。如果需要改变数组长度,只需要修改define指令中的数字即可。
阅读全文