酷代码 AI
菜单
服务商

题目描述 将一个数组中的值按逆序重新存放。例如,原来的顺序为 8 , 6 , 5 , 4 , 1 8,6,5,4,1。要求改为 1 , 4 , 5 , 6 , 8 1,4,5,6,8,请你编写程序,实现数组的逆序重放。 输入格式 输入包括两行, 第一行,一个正整数 n n,表示数组中元素的个数。 第二行,依次为 n n个 正整数 a [ i ] a[i]。 输出格式 输出为一行:输出逆序重放后的数组,每两个整数之间使用一个空格分隔。 c++语言

```cpp #include <iostream> using namespace std; int main() { int n; // 读取数组元素的个数 cin >> n; int a[1000]; // 读取数组元素 for (int i = 0; i < n; i++) { cin >> a[i]; } // 逆序数组元素 for (int i = 0; i < n / 2; i++) { int temp = a[i]; a[i] = a[n - 1 - i]; a[n - 1 - i] = temp; } // 输出逆序后的数组 for (int i = 0; i < n; i++) { if (i > 0) { cout << " "; } cout << a[i]; } cout << endl; return 0; } ``` 代码解释 1. 读取数组元素个数:使用`cin`读取一个正整数`n`,表示数组中元素的个数。 2. 读取数组元素:使用`for`循环读取`n`个正整数,存储到数组`a`中。 3. 逆序数组元素:使用`for`循环将数组`a`中的元素逆序存放。交换`a[i]`和`a[n - 1 - i]`,直到`i`达到`n / 2`。 4. 输出逆序后的数组:使用`for`循环输出逆序后的数组,每两个整数之间使用一个空格分隔。 复杂度分析 - 时间复杂度:$O(n)$,其中`n`是数组的长度。主要时间开销在于逆序数组元素和输出数组元素。 - 空间复杂度:$O(n)$,主要空间开销在于存储数组元素。 [2025-11-28 21:09:16 | AI问答 | 428点数解答]

相关提问
发财导航,免费问AI
实用工具查看更多