编写一个函数 sort,使用指针的方法对一个数组a[10],实现从大到小的排序。"
时间: 2024-02-03 11:13:21 浏览: 66
下面是一个用指针实现从大到小排序的示例代码:
```c
void sort(int *a, int n) {
int i, j, temp;
for (i = 0; i < n - 1; i++) {
for (j = i + 1; j < n; j++) {
if (*(a + i) < *(a + j)) {
temp = *(a + i);
*(a + i) = *(a + j);
*(a + j) = temp;
}
}
}
}
```
在这个函数中,我们接收一个指向整型数组的指针 a,以及数组的大小 n。通过使用指针访问数组元素,我们可以在函数内部对数组进行排序,而不需要传递整个数组。
具体来说,我们使用两个嵌套的 for 循环来遍历数组中的每个元素。对于每一对元素,我们比较它们的值,并交换它们的位置,以便更大的值在前面。最终,数组将被从大到小排序。
要调用这个函数,只需将数组名和大小作为参数传递:
```c
int main() {
int a[10] = {5, 2, 9, 7, 4, 6, 1, 3, 8, 0};
int i;
sort(a, 10);
for (i = 0; i < 10; i++) {
printf("%d ", a[i]);
}
return 0;
}
```
这将输出排好序的数组元素。
阅读全文