利用指针作为形参用codeblocksC++编写函数 Sort1;利用该函数,可以把主程序中的a,b, c三个int型变量从小到大排序,并把最小值到最大值分别存放在a, b, c中;在主程序中使用这个函数,输出交换前和交换后a,b, c的值。
时间: 2024-10-06 18:03:22 浏览: 35
在C++中,你可以通过定义一个接受指向整数数组的指针作为参数的函数,然后使用`*`操作符访问并修改数组元素来实现排序功能。这里是一个简单的例子,展示如何使用`Sort1`函数对`a`, `b`, `c`这三个变量进行排序:
```cpp
#include <iostream>
// 定义一个接收指针作为参数的函数,用于排序
void Sort1(int* arr, int length) {
if (length <= 1)
return; // 如果只有一个元素或没有元素,直接返回
int minIndex = 0;
for (int i = 1; i < length; ++i) {
if (arr[i] < arr[minIndex]) {
minIndex = i; // 找到当前最小值的索引
}
}
// 交换最小值到第一个位置
int temp = arr[minIndex];
arr[minIndex] = arr[0];
arr[0] = temp;
// 对剩余元素递归调用Sort1
Sort1(arr + 1, length - 1);
}
int main() {
int a, b, c;
std::cout << "Before sorting: a = " << a << ", b = " << b << ", c = " << c << "\n";
// 假设a、b、c已初始化
Sort1(&a, 3);
std::cout << "After sorting: a = " << a << ", b = " << b << ", c = " << c << "\n";
return 0;
}
```
在这个`main`函数中,我们首先打印出排序前的`a`, `b`, `c`值,然后调用`Sort1`函数并将它们的地址传递给它。排序完成后,再打印出排序后的值。
阅读全文