请你给我一个c++的实现:本关任务:编写代码实现数组的逆序。 输入数组长度n(0<n<50),输入n个元素,将数组中的元素逆序存储,再将数组输出。 例如,输入:5 1 2 3 4 5。 输出:5 4 3 2 1
时间: 2023-11-27 09:51:58 浏览: 100
好的,以下是一个简单的 C++ 实现:
```cpp
#include <iostream>
using namespace std;
int main() {
int n, arr[50];
cin >> n;
for (int i = 0; i < n; i++) {
cin >> arr[i];
}
for (int i = 0; i < n / 2; i++) {
int temp = arr[i];
arr[i] = arr[n - i - 1];
arr[n - i - 1] = temp;
}
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
cout << endl;
return 0;
}
```
首先读入数组长度 `n` 和 `n` 个元素,然后使用一个循环将数组逆序存储,最后再使用一个循环输出数组。在逆序存储时,我们只需要遍历数组的前一半,将第 `i` 个元素和倒数第 `i+1` 个元素交换即可。最后别忘了输出换行符。
相关问题
将一个数组逆序输出。用C++编写
好的,以下是用 C 语言编写将一个数组逆序输出的代码:
```c
#include <stdio.h>
int main() {
int arr[] = {1, 2, 3, 4, 5};
int n = sizeof(arr) / sizeof(int);
printf("Original array: ");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
printf("Reversed array: ");
for (int i = n - 1; i >= 0; i--) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
这段代码首先定义了一个整型数组 `arr`,然后通过 `sizeof` 和 `sizeof(int)` 来求出数组的长度 `n`,接着使用两个 `for` 循环,第一个循环将原数组输出,第二个循环将数组逆序输出,最后输出换行符以保证输出格式。
编写一个可以实现数组内5个元素倒置的C++代码
在C++中,你可以使用标准库中的`std::reverse()`函数或者自定义一个循环来实现数组内5个元素的倒置。这里是一个简单的例子,假设我们有一个名为`arr`的整型数组,长度为5:
```cpp
#include <iostream>
using namespace std;
void reverseArray(int arr[], int size) {
// 如果数组大小小于5,不做操作
if (size >= 5) {
int start = 0;
int end = size - 1; // 只考虑前5个元素
while (start < end) {
// 交换开始位置和结束位置的元素
swap(arr[start], arr[end]);
// 移动边界
start++;
end--;
}
}
}
int main() {
int arr[5] = {1, 2, 3, 4, 5};
cout << "Original array: ";
for (int i : arr) {
cout << i << " ";
}
reverseArray(arr, 5); // 倒置前5个元素
cout << "\nReversed array with first 5 elements: ";
for (int i : arr) {
cout << i << " ";
}
return 0;
}
```
在这个例子中,`reverseArray`函数接收一个数组和它的大小,如果大小大于等于5,就将数组的前五个元素逆序。注意,这个代码只会反转前5个元素,不会改变整个数组。
阅读全文