1.需求
2.写法分析
数组元素反转就将第一个元素与最后一个元素交换
定义两个变量
left代表的是数组第一个元素
right代表最后一个元素
定义一个sz求出数组长度sz-1就是right下标
将left和right交换就可以了
3.代码实现
void retert_ad(int* str, int sz) {
int left = 0;
int right = sz;
while (left < right) {
int tmp = *(str + left);
*(str + left) = *(str + right - 1);
*(str + right - 1) = tmp;
left++;
right--;
}
}
void print(int arr[], int sz) {
cout << "[";
int i = 0;
for (i = 0; i < sz; i++) {
printf("%d", arr[i]);
if (i < sz - 1) {
cout << ", ";
}
}
cout << "]";
}
int main()
{
int arr[6] = { 0 };
int sz = sizeof(arr) / sizeof(arr[0]);
int i = 0;
for (i = 0; i < sz; i++) {
scanf("%d", &arr[i]);
}
//反专前
print(arr, sz);
retert_ad(arr, sz);
cout << "\n";
print(arr, sz);
return 0;
}
如果对你有帮助的话
可以点个赞吗😘