有输入参数,无返回值 要求:写一个函数,用于将3个数进行排序,将排序结果进行打印,并在主函 数测试它。
时间: 2023-06-15 21:07:11 浏览: 91
下面是一个用于将三个数进行排序并打印的函数示例:
```c++
void sortAndPrint(int a, int b, int c) {
int arr[3] = {a, b, c};
std::sort(arr, arr + 3);
for(int i = 0; i < 3; i++) {
std::cout << arr[i] << " ";
}
std::cout << std::endl;
}
```
该函数接受三个整数作为输入参数,将它们存储在一个数组中,然后使用 C++ STL 中的 std::sort() 函数将它们进行排序。最后,函数遍历排序后的数组,并将其打印到屏幕上。
为了测试该函数,我们可以在主函数中调用它:
```c++
int main() {
sortAndPrint(3, 1, 4); // 打印 1 3 4
sortAndPrint(9, 2, 5); // 打印 2 5 9
sortAndPrint(7, 7, 1); // 打印 1 7 7
return 0;
}
```
该代码将分别调用 sortAndPrint() 函数三次,每次传递不同的参数。输出结果将分别是按从小到大排序后的数字列表。
相关问题
用c语言写一个函数,用“选择法”对长度为n的数组进行从大到小排序。在函数中注释说明定义本函数时的四要素:函数功能、函数名、函数返回值类型、函数参数列表。
函数功能:对长度为n的数组进行从大到小排序
函数名:selectSort
函数返回值类型:void
函数参数列表:int arr[] (待排序的数组), int n (数组长度)
代码实现如下:
```c
void selectSort(int arr[], int n) {
int i, j, maxIndex, temp;
for(i = 0; i < n - 1; i++) {
maxIndex = i;
for(j = i + 1; j < n; j++) {
if(arr[j] > arr[maxIndex]) { // 找到当前未排序序列中最大值的下标
maxIndex = j;
}
}
if(maxIndex != i) { // 如果最大值下标不是当前位置,则交换
temp = arr[i];
arr[i] = arr[maxIndex];
arr[maxIndex] = temp;
}
}
}
```
注:选择排序的原理是每次遍历未排序序列,找到其中最大的数,然后将其放到已排序序列的末尾。以上代码中,变量maxIndex用于记录当前未排序序列中最大值的下标,变量temp用于交换两个元素的值。
阅读全文