用指针变量作为函数参数,实现:输入3个整数,按由大到小的顺序将其输出
时间: 2025-01-01 17:34:54 浏览: 9
在C++中,你可以通过指针作为函数参数的方式来实现在不改变原始数组的情况下,将三个整数按照从大到小的顺序输出。这里我们假设有一个未排序的整数数组,我们可以创建一个函数`sortDescending(int* arr, int size)` 来完成这个任务,它接受一个指向数组开始位置的指针和数组大小:
```cpp
void sortDescending(int* arr, int size) {
if (size > 1) {
// 找到剩余部分的最大值并交换
int maxIndex = 0;
for (int i = 1; i < size; ++i) {
if (arr[i] > arr[maxIndex]) {
maxIndex = i;
}
}
// 交换最大值到第一个位置
int temp = arr[maxIndex];
arr[maxIndex] = arr[0];
arr[0] = temp;
// 对剩下的n-1个元素递归调用自身
sortDescending(arr + 1, size - 1);
}
}
// 使用示例
int main() {
int numbers[] = {5, 2, 9, 1, 7};
int length = sizeof(numbers) / sizeof(numbers[0]);
cout << "Before sorting: ";
for (int i = 0; i < length; ++i) {
cout << numbers[i] << " ";
}
sortDescending(numbers, length);
cout << "\nAfter sorting (from large to small): ";
for (int i = 0; i < length; ++i) {
cout << numbers[i] << " ";
}
return 0;
}
```
当你运行上述代码,你会看到未排序的数组和已按降序排列的数组都被打印出来。
阅读全文