#include<iostream>
using namespace std;
int main() {
int arr[9] = { 1,2,3,4,5,6,7,8,9 };
cout << "元素逆置前:" << endl;
for (int i=0; i < 9; i++)
{
cout << arr[i] << endl;
}
int start = 0;
int end = sizeof(arr) / sizeof(arr[0]) - 1;
while (start < end)
{
int temp = arr[start];
arr[start] = arr[end];
arr[end] = temp;
start++;
end--;
}
cout << "元素逆置后:" << endl;
for (int i = 0; i < 9; i++)
{
cout << arr[i] << endl;
}
}
首先定义一个数组,用for循环打印该数组的每一个元素,int定义一个start赋值为0作为该数组的起始元素,int定义一个end作为该数组的最后一个元素,但是对于一个未知有多少个元素的数组来说很难直接用一个数字进行赋值,于是可以利用sizeof()这个函数求得,即用整个数组的大小除以一个元素的大小即为每一个的元素的大小,因为数组的元素下标是从0开始,所以要减去1,即为该数组的最后一个元素。定义完数组开始下标以及最后结束下标之后,用一个while循环进行关键的逆置部分,while的循环条件是开始下标小于最后的下标,因为当开始元素的下标大于等于最后的元素的下标的时候,逆置已经完成了。while循环体尤为重要,先定义一个临时的内存temp将数组的第一个元素存放在temp中,再将最后的一个元素赋值到第一个元素的位置,然后再把temp中原来的第一个元素放到最后的位置,开始元素下标自增即start++,然后最后一个元素的下标自减end--,最后输出逆置后的数组元素(记住一定要在while循环的之外输出逆置后的元素)。至此元素逆置完成了。