用c++写一个利用指针作为形参编写函数Sort1;利用该函数,可以把主程序中的a, b, c三个int型变量从小到大排序,并把最小值到最大值分别存放在a, b, c中;在主程序中使用这个函数,输出交换前和交换后a,b, c的值的程序
时间: 2024-09-29 14:06:44 浏览: 27
在C++中,你可以创建一个函数,接受指向整数数组的指针以及数组的大小作为参数。这里是一个简单的示例,展示了如何编写`Sort1`函数以及如何在主程序中使用它:
```cpp
#include <iostream>
// 定义 Sort1 函数,接受整数指针和数组长度
void Sort1(int* arr, int n) {
// 检查数组长度是否至少有3个元素
if (n < 3) {
std::cout << "数组长度不足3,无法排序。\n";
return;
}
// 使用简单冒泡排序算法
for (size_t i = 0; i < n - 1; ++i) {
for (size_t j = 0; j < n - i - 1; ++j) {
if (arr[j] > arr[j + 1]) {
// 交换 arr[j] 和 arr[j+1]
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
int main() {
int a = 5, b = 2, c = 8;
std::cout << "交换前: a=" << a << ", b=" << b << ", c=" << c << "\n";
// 调用 Sort1 函数并传入数组 {a, b, c}
Sort1(&a, 3);
std::cout << "交换后: a=" << a << ", b=" << b << ", c=" << c << "\n";
return 0;
}
```
在这个例子中,`Sort1`函数会直接修改输入数组`arr`,因此主程序中的`a`, `b`, `c`会被排序。注意,这是一种基本的排序方法,实际应用中可能需要考虑性能优化和其他更复杂的排序算法。