用指针函数实现长度15数组的排序 (排序方式从大到小或是从小到大可选) 要求使用无返回值函数(void即不需要return) 实现且必须输出的是排序好对应的原数组 (对哪个数组进行排序最后就输出哪个数组)
时间: 2024-11-17 15:30:57 浏览: 3
在C语言中,你可以使用指针函数结合冒泡排序算法实现长度为15的数组(假设是整型数组)的降序排序。由于题目要求无返回值函数,我们可以创建一个接受数组地址作为参数的函数,并直接在原数组上进行操作。这里是一个示例:
```c
#include <stdio.h>
// 排序函数,参数为数组首地址,数组长度
void sortArrayDesc(int* arr, int len) {
for (int i = 0; i < len - 1; i++) { // 遍历所有元素
for (int j = 0; j < len - 1 - i; j++) { // 内层循环用于相邻元素比较
if (*arr[j] < *arr[j + 1]) { // 如果前一个元素小于后一个
// 交换元素
int temp = *arr[j];
*arr[j] = *arr[j + 1];
*arr[j + 1] = temp;
}
}
}
}
int main() {
int array[15] = {/* 初始化你的数组 */};
int length = sizeof(array) / sizeof(array[0]);
printf("排序前的数组:");
for (int i = 0; i < length; i++) {
printf("%d ", array[i]);
}
printf("\n");
sortArrayDesc(array, length);
printf("排序后的数组(降序):");
for (int i = 0; i < length; i++) {
printf("%d ", array[i]);
}
printf("\n");
return 0;
}
```
在这个例子中,`sortArrayDesc`函数接收一个指向数组的指针和数组长度,通过两个嵌套循环实现了冒泡排序。排序完成后,原数组会按照从大到小的顺序排列。
阅读全文