利用C语言指针作为函数的形参实现10个整数从小到大排序。
时间: 2024-09-19 22:17:54 浏览: 63
C语言函数不改变形参内容的说明
5星 · 资源好评率100%
在C语言中,可以利用指针作为函数的形参,并结合数组传递来实现对一组整数的排序。这里我们展示一个简单的冒泡排序算法的例子,它接受一个指向整数数组首元素的指针以及数组长度:
```c
#include <stdio.h>
// 排序函数,传入一个整数指针和数组长度
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]) {
// 如果前一个元素比后一个大,交换它们
int temp = *arr[j];
*arr[j] = *arr[j + 1];
*arr[j + 1] = temp;
}
}
}
}
// 测试函数
int main() {
int numbers[10] = {5, 3, 9, 1, 7, 2, 8, 6, 4, 10}; // 待排序的10个整数
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 in ascending order:\n");
for (int i = 0; i < size; i++) {
printf("%d ", numbers[i]);
}
return 0;
}
```
阅读全文