c语言 输入n个整数排序并输出。要求用冒泡法排序,将排序单独写成一个函数,n个整数在主函数中输入,排序结果在主函数中输出。编写程序,用指针实现上述功能要求。
时间: 2024-03-25 16:41:50 浏览: 76
好的,以下是C语言代码实现:
```c
#include <stdio.h>
void bubbleSort(int *arr, int n); // 冒泡排序函数声明
int main() {
int n, i;
printf("请输入需要排序的整数个数:");
scanf("%d", &n);
int arr[n];
printf("请输入%d个整数:\n", n);
for (i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
bubbleSort(arr, n); // 调用冒泡排序函数
printf("排序后的结果为:");
for (i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
void bubbleSort(int *arr, int n) {
int i, j, temp;
for (i = 0; i < n-1; i++) {
for (j = 0; j < n-1-i; j++) {
if (*(arr+j) > *(arr+j+1)) {
temp = *(arr+j);
*(arr+j) = *(arr+j+1);
*(arr+j+1) = temp;
}
}
}
}
```
说明:
这段代码首先让用户输入需要排序的整数个数,然后在主函数中定义一个长度为n的整型数组,接着让用户输入n个整数,存储在数组中。
接下来调用冒泡排序函数bubbleSort,将数组和数组长度作为参数传递进去,进行冒泡排序。
在bubbleSort函数中,我们使用指针来访问数组元素,通过比较相邻两个元素的大小,交换它们的位置,直到整个数组排序完成。
最后在主函数中输出排序后的结果。
希望能够帮到您。
阅读全文