编写函数void sort(int *a,int n)对a开始的n个数从大到小排序。不能调用c的库函数直接解决
时间: 2024-02-20 22:00:44 浏览: 84
C语言程序设计-编写函数fun对主程序中用户输入的具有10个数据的数组a按由大到小排序,并在主程序中输出排序结果;
5星 · 资源好评率100%
好的,下面是函数的实现代码:
```
void sort(int *a, int n) {
int i, j, temp;
for (i = 0; i < n - 1; i++) { // 外层循环控制比较轮数
for (j = 0; j < n - i - 1; j++) { // 内层循环控制每轮比较的次数
if (a[j] < a[j + 1]) { // 如果前一个数比后一个数小,则交换两个数的位置
temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}
}
```
该函数使用冒泡排序的算法,从数组的第一个元素开始,依次比较相邻的两个元素的大小,如果前一个元素比后一个元素小,则交换它们的位置,这样一轮比较下来,最大的元素就会被放到数组的最后面。然后再去掉最后面的元素,对剩余的元素进行同样的操作,直到所有元素都被排序好为止。
阅读全文