编写一个函数sort,使用指针的方法对一个数组a[10],实现从大到小的排序。c语言
时间: 2024-02-11 19:06:03 浏览: 36
好的,以下是实现从大到小排序的sort函数:
```c
void sort(int *a, int n) {
int *p, *q, temp;
for (p = a; p < a + n; p++) {
for (q = p + 1; q < a + n; q++) {
if (*p < *q) {
temp = *p;
*p = *q;
*q = temp;
}
}
}
}
```
使用方法:
```c
int main() {
int a[10] = {1, 3, 2, 5, 4, 8, 6, 9, 7, 0};
sort(a, 10);
for (int i = 0; i < 10; i++) {
printf("%d ", a[i]);
}
return 0;
}
```
输出结果:
```
9 8 7 6 5 4 3 2 1 0
```
相关问题
用C语言编写一个函数sort,使用指针的方法对一个数组a[10],实现从大到小的排序。
好的,这是 C 语言代码实现:
```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;
}
}
}
}
```
这里的 `sort` 函数使用了指针的方法,它接受一个 `int` 类型的指针 `a` 和数组的长度 `n`,然后使用冒泡排序的方法将数组从大到小排序。
编写C语言程序,编写一个函数sort,使用指针的方法对一个数组a[10],实现从大到小的排序。
好的,以下是符合您要求的C语言程序:
```c
#include <stdio.h>
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;
}
}
}
}
int main() {
int i, a[10] = {5, 9, 2, 7, 3, 6, 8, 1, 4, 0};
sort(a, 10);
for (i = 0; i < 10; i++) {
printf("%d ", *(a + i));
}
return 0;
}
```
这个程序定义了一个名为`sort`的函数,该函数使用指针的方法对一个整型数组进行从大到小的排序。在`main`函数中,我们定义了一个包含10个元素的整型数组,并将其传递给`sort`函数进行排序。最后,我们使用循环输出排序后的数组元素。