编写一个c程序,用函数 void sort(int *a,int n)对 a 开始的 n 个数从大到小排序。
时间: 2024-02-20 15:00:47 浏览: 73
用选择法对个数排序由小到大-C++程序设计(谭浩强完整版)
好的,下面是实现该功能的 C 代码:
```
#include <stdio.h>
void sort(int *a, int n);
int main() {
int a[] = {4, 2, 1, 5, 3};
int n = 5;
sort(a, n);
printf("排序后的结果为:\n");
for (int i = 0; i < n; i++) {
printf("%d ", a[i]);
}
printf("\n");
return 0;
}
void sort(int *a, int n) {
for (int i = 0; i < n - 1; i++) {
for (int j = i + 1; j < n; j++) {
if (a[i] < a[j]) {
int temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
}
```
在 sort 函数中,我们使用了冒泡排序的思想,即从数组的第一个元素开始依次比较相邻的两个元素,如果前一个元素比后一个元素小,则交换它们的位置,直到整个数组都排好序。在主函数中,我们定义了一个整型数组 a 和数组的长度 n,然后调用 sort 函数对数组 a 进行排序,最后输出排序后的结果。
阅读全文