利用指针作为函数的形参,实现将10个整数从小到大排序并输出。
时间: 2024-09-11 14:10:27 浏览: 103
在C语言中,可以使用指针作为函数的参数来传递数组,并通过函数内部对指针进行操作,完成数组元素的排序。这里我们假设有一个名为`swap`的交换函数,用于临时改变两个元素的位置,然后我们可以编写一个`sort`函数来实现冒泡排序:
```c
void swap(int* a, int* b) {
int temp = *a;
*a = *b;
*b = temp;
}
void sort(int* arr, int n) {
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - 1 - i; j++) {
if (arr[j] > arr[j + 1]) {
swap(&arr[j], &arr[j + 1]);
}
}
}
}
int main() {
int numbers[10] = {5, 3, 8, 4, 2, 9, 1, 7, 6, 0};
int size = sizeof(numbers) / sizeof(numbers[0]);
printf("Before sorting:\n");
for (int i = 0; i < size; i++) {
printf("%d ", numbers[i]);
}
sort(numbers, size);
printf("\nAfter sorting:\n");
for (int i = 0; i < size; i++) {
printf("%d ", numbers[i]);
}
return 0;
}
```
这个程序首先定义了一个整型数组`numbers`,然后通过`sort`函数和`swap`函数对其进行冒泡排序。最后,分别打印排序前后的数组内容。
阅读全文