用C语言编写,输入n个整数排序并输出。要求用冒泡法排列,将排序单独写成一个函数,n个整数在主函数中输入,排序结果在主函数中输出。编写程序,用指针实现实现上述功能要求
时间: 2024-02-03 17:12:32 浏览: 65
以下是用指针实现冒泡排序的C语言程序:
```c
#include <stdio.h>
void bubble_sort(int *arr, int n) {
int i, j, temp;
for (i = 0; i < n - 1; i++) {
for (j = 0; j < n - i - 1; j++) {
if (*(arr + j) > *(arr + j + 1)) {
temp = *(arr + j);
*(arr + j) = *(arr + j + 1);
*(arr + j + 1) = temp;
}
}
}
}
int main() {
int n, i;
printf("请输入整数个数n:");
scanf("%d", &n);
int arr[n];
printf("请输入%d个整数:", n);
for (i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
bubble_sort(arr, n);
printf("排序结果为:");
for (i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
程序首先要求用户输入整数个数n,然后根据n定义一个数组arr。用户再输入n个整数,存储在数组arr中。接着调用bubble_sort函数对数组进行冒泡排序,最后输出排序结果。
在bubble_sort函数中,使用两层循环遍历整个数组,对相邻的两个数进行比较,如果前一个数比后一个数大,就交换它们的位置。由于传入的是指针,可以使用指针加法访问数组元素。最后,在主函数中打印排序后的数组即可。
阅读全文