c语言写一个包含指针数组的一个输入数据排序
时间: 2024-05-13 15:20:59 浏览: 84
用指针实现的C语言排序算法
以下是一个使用指针数组进行数据排序的C语言代码示例:
```c
#include <stdio.h>
#define MAX_SIZE 100
void sort(int *arr[], int n);
int main() {
int n, i;
int *arr[MAX_SIZE];
printf("请输入要排序的数的数量(最多%d个):", MAX_SIZE);
scanf("%d", &n);
printf("请输入%d个数:\n", n);
for (i = 0; i < n; i++) {
int temp;
scanf("%d", &temp);
arr[i] = &temp;
}
sort(arr, n);
printf("排序后的数为:\n");
for (i = 0; i < n; i++) {
printf("%d ", *arr[i]);
}
return 0;
}
void sort(int *arr[], int n) {
int i, j;
for (i = 0; i < n - 1; i++) {
for (j = 0; j < n - i - 1; j++) {
if (*arr[j] > *arr[j + 1]) {
int *temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
```
在这个程序中,我们首先使用一个指针数组来存储用户输入的数,然后使用指针传递这个数组到`sort`函数中进行排序。在`sort`函数中,我们使用指针来比较数组中的元素,并根据需要交换它们的位置。最后,我们在主函数中输出已排序的数组。
需要注意的是,由于我们使用指针来引用数组中的元素,因此在输入数字时需要使用`&temp`而不是`temp`来将其指针存储在指针数组中。
阅读全文