谭浩强C++课后习题18——数组逆序
题目描述:将一个数组中的值按照逆序重新存放。例如:原来顺序为8,6,5,4,1。要求改为1,4,5,6,8。
算法思路:要让一个数组逆序,只需要让前一半的数据与后一半的数据交换位置即可,循环进行n/2次。
#include<iostream>
using namespace std;
void reverse(int num[], int n) {
int temp;
for (int i = 0;i < n / 2;i++) {
temp = num[i];
num[i] = num[n - i - 1];
num[n - i - 1] = temp;
}
}
int main() {
int n;
cout << "输入个数:";
cin >> n;
int* num = new int[n];
cout << "输入数组:";
for (int i = 0;i < n;i++)
cin >> num[i];
reverse(num, n);
cout << "新数组:";
for (int i = 0;i < n;i++)
cout << num[i] << " ";
return 0;
}
运行结果: