c语言设计一个函数,函数的功能是:使用指针实现对数组a[10]={12,5,13,25,21,46,34,37,19,2}进行降序排序,将结果存到数组b中并输出。要求:除了定义数组a,b时,任何地方不可以使用下标法,必须使用指针,不可以改变数组a
时间: 2024-03-19 11:44:43 浏览: 43
C语言程序设计-编写函数用选择排序法对数组中的数据进行从小到大的排序;
5星 · 资源好评率100%
下面是使用指针实现对数组a进行降序排序的代码:
```c
#include <stdio.h>
void sort(int* a, int* b, int n) {
int* p = a;
int* q = b;
for (int i = 0; i < n; i++) {
int* max = p;
for (int* j = p; j < a + n; j++) {
if (*j > *max) {
max = j;
}
}
*q++ = *max;
p = max + 1;
}
}
int main() {
int a[10] = {12, 5, 13, 25, 21, 46, 34, 37, 19, 2};
int b[10];
sort(a, b, 10);
for (int i = 0; i < 10; i++) {
printf("%d ", b[i]);
}
printf("\n");
return 0;
}
```
这里的sort函数使用指针实现对数组a进行降序排序,并将结果存到数组b中。在函数中,p指向a的起始位置,q指向b的起始位置。外层循环控制排序次数,内层循环找到a中剩余元素中的最大值,并将其存到b中。最后输出数组b的元素即可。
阅读全文