用c语言写一段代码,要求如下 定义函数,以指针作为函数的形式参数,实现对n个数据进行排序。在主函数中调用此函数
时间: 2024-02-21 13:58:50 浏览: 81
以下是一个使用指针作为函数参数实现排序的C语言代码:
```c
#include <stdio.h>
void sort(int *arr, int n) {
int i, j, temp;
for(i=0; i<n; i++) {
for(j=i+1; j<n; j++) {
if(*(arr+j) < *(arr+i)) {
temp = *(arr+i);
*(arr+i) = *(arr+j);
*(arr+j) = temp;
}
}
}
}
int main() {
int arr[] = {3, 2, 5, 1, 4};
int n = sizeof(arr) / sizeof(arr[0]);
int i;
printf("Before sorting: ");
for(i=0; i<n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
sort(arr, n);
printf("After sorting: ");
for(i=0; i<n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
在上面的代码中,我们定义了一个名为`sort`的函数,该函数使用两个参数:一个指向整数数组的指针`arr`和一个整数`n`,表示数组中元素的数量。在函数中,我们使用两个嵌套的循环来进行冒泡排序。在每次迭代中,我们比较相邻的两个元素,如果它们的顺序不正确,就交换它们的位置。
在`main`函数中,我们定义了一个整数数组`arr`,并将其初始化为一些随机值。然后,我们通过使用`sizeof`运算符来计算数组中元素的数量,并将其赋值给变量`n`。接下来,我们在调用`sort`函数时将`arr`和`n`作为参数传递给它。最后,我们打印出排序前和排序后的数组内容。
阅读全文