用c++编写,编写程序,将一个数组中的元素逆序存放,例如,原来顺序是12,3,11,14,21,15,25,18,22,27,逆序后为27,22,18,,25,15,21,14,11,3,12
时间: 2024-01-12 17:03:03 浏览: 53
以下是使用 C++ 编写的代码实现数组逆序存放:
```c++
#include <iostream>
using namespace std;
int main() {
int arr[] = {12, 3, 11, 14, 21, 15, 25, 18, 22, 27}; // 定义数组
int n = sizeof(arr) / sizeof(arr[0]); // 数组长度
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++) {
cout << arr[i] << " ";
}
cout << endl;
return 0;
}
```
运行结果:
```
27 22 18 25 15 21 14 11 3 12
```
相关问题
用c++初学者角度编写程序,将一个数组中的元素逆序存放,例如,原来顺序是12,3,11,14,21,15,25,18,22,27,逆序后为27,22,18,,25,15,21,14,11,3,12
以下是一个简单的用C++实现将数组逆序存放的程序:
```c++
#include <iostream>
using namespace std;
int main() {
int arr[10] = {12, 3, 11, 14, 21, 15, 25, 18, 22, 27};
int len = sizeof(arr) / sizeof(arr[0]);
// 输出原数组
cout << "Original array: ";
for (int i = 0; i < len; i++) {
cout << arr[i] << " ";
}
cout << endl;
// 将数组逆序
for (int i = 0; i < len / 2; i++) {
int temp = arr[i];
arr[i] = arr[len - i - 1];
arr[len - i - 1] = temp;
}
// 输出逆序后的数组
cout << "Reversed array: ";
for (int i = 0; i < len; i++) {
cout << arr[i] << " ";
}
cout << endl;
return 0;
}
```
运行结果:
```
Original array: 12 3 11 14 21 15 25 18 22 27
Reversed array: 27 22 18 25 15 21 14 11 3 12
```
该程序首先定义了一个长度为10的整型数组`arr`,并将其初始化为题目给定的原始数组。然后,通过计算数组长度,确定了需要遍历的次数。接着,使用一个for循环将数组逆序,具体实现方式是:将数组的第一个元素和最后一个元素交换,接着将第二个元素和倒数第二个元素交换,以此类推,直到数组中间位置。最后,再使用一个for循环输出逆序后的数组。
(逆序存放):编写一个函数fun,功能是对一个一维数组中存放的数进行逆序交换;在主函数中用随机函数产生10个[0~100)之间的整数,存放于一个一维数组中,并按原始存放顺序输出这10个数,然后调用fun函数使它们的存储位置逆序存放,最后在主函数中输出该数组。
好的,我理解了您的要求。以下是实现这个程序的C++代码:
```cpp
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
void fun(int *a, int n) {
for (int i = 0; i < n / 2; i++) {
int tmp = a[i];
a[i] = a[n - i - 1];
a[n - i - 1] = tmp;
}
}
int main() {
const int n = 10;
int a[n];
srand(time(nullptr)); // 设置随机数种子
for (int i = 0; i < n; i++) {
a[i] = rand() % 100; // 产生0~99之间的随机整数
cout << a[i] << " ";
}
cout << endl;
fun(a, n);
for (int i = 0; i < n; i++) {
cout << a[i] << " ";
}
cout << endl;
return 0;
}
```
运行结果:
```
52 81 15 72 16 33 51 49 21 90
90 21 49 51 33 16 72 15 81 52
```
在这个程序中,我们首先生成了10个随机整数,并将它们输出。然后调用 `fun` 函数进行逆序交换,并将结果输出。函数 `fun` 的实现很简单,就是将数组的前一半和后一半进行交换即可。
阅读全文