将n个整数按输入时的顺序逆序排列
时间: 2024-01-02 20:42:54 浏览: 61
您可以使用一个数组来存储这n个整数,然后遍历数组并将元素按照与输入时相反的顺序存储在另一个数组中。或者,您可以直接在原始数组中对元素进行交换来实现反向排序。以下是一个使用数组交换元素的示例代码:
```
void reverseArray(int arr[], int n) {
for (int i = 0; i < n/2; i++) {
int temp = arr[i];
arr[i] = arr[n-i-1];
arr[n-i-1] = temp;
}
}
```
在这个函数中,我们使用一个for循环来遍历前一半的数组元素(n/2),并在每次循环中交换第i个元素和第n-i-1个元素。这将数组中的元素以相反的顺序排列。
相关问题
将n个整数按输入顺序的逆序排列,要求应用带指针参数的函数实现
可以使用一个指针数组,将输入的n个整数存储到数组中,然后使用指针参数的函数实现逆序排列。具体实现如下:
void reverse(int *arr[], int n){
int *temp;
for(int i=; i<n/2; i++){
temp = arr[i];
arr[i] = arr[n-i-1];
arr[n-i-1] = temp;
}
}
int main(){
int n;
scanf("%d", &n);
int arr[n];
int *ptr[n];
for(int i=; i<n; i++){
scanf("%d", &arr[i]);
ptr[i] = &arr[i];
}
reverse(ptr, n);
for(int i=; i<n; i++){
printf("%d ", *ptr[i]);
}
return ;
}
在主函数中,首先输入n和n个整数,然后将每个整数的地址存储到指针数组ptr中。接着调用reverse函数,将ptr数组中的元素逆序排列。最后输出排列后的结果。
c++将n个整数按输入顺序的逆序排列,要求应用带指针参数的函数实现
题目意思是要求用 C++ 将 n 个整数按输入顺序的相反顺序排列,要求应用带指针参数的函数实现。
例如,输入为 1 2 3 4 5,输出为 5 4 3 2 1。
实现的函数可以用指针参数指向要排序的数组,同时可以再定义一个指向 int 类型的变量 n,表示要排序的整数个数。在函数内部,可以使用循环语句按照输入顺序将数组元素复制到一个新的数组中,再循环将新数组的元素按相反顺序复制回原数组中。
具体代码实现为:
void reverseArray(int* arr, int n) {
int *newArr = new int[n]; // 定义一个新的数组
for (int i = 0; i < n; i++) {
newArr[i] = arr[i]; // 将元素按输入顺序复制到新数组中
}
for (int i = 0; i < n; i++) {
arr[i] = newArr[n - 1 - i]; // 将新数组的相反顺序元素复制回原数组中
}
delete [] newArr; // 释放新数组的内存
}
调用示例:
int n = 5;
int arr[5] = {1, 2, 3, 4, 5};
reverseArray(arr, n);
for (int i = 0; i < n; i++) {
cout << arr[i] << " "; // 输出 5 4 3 2 1
}
阅读全文