C语言, 输入n个整数排序并输出。要求用冒泡法排序,将排序单独写成一个函数,n个整数在主函数中输入,排序结果在主函数中输出。编写程序,用指针实现上述功能要求。
时间: 2024-03-14 20:47:35 浏览: 84
好的,我会根据您的要求进行回答。下面是代码实现:
```c
#include <stdio.h>
void bubbleSort(int* arr, int n) {
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (*(arr + j) > *(arr + j + 1)) {
int temp = *(arr + j);
*(arr + j) = *(arr + j + 1);
*(arr + j + 1) = temp;
}
}
}
}
int main() {
int n;
printf("请输入n的值:");
scanf("%d", &n);
int arr[n];
printf("请输入%d个整数:", n);
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
bubbleSort(arr, n);
printf("排序后的结果为:");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
以上代码中,`bubbleSort` 函数用于实现冒泡排序,`main` 函数用于读取用户输入的数据并输出排序结果。在 `main` 函数中,我们首先读取用户输入的 `n` 值,然后声明一个长度为 `n` 的整数数组,用于存储用户输入的数据。接着,我们调用 `bubbleSort` 函数对数组进行排序,最后输出排序结果。需要注意的是,在 `bubbleSort` 函数中,我们使用指针来访问数组中的元素,这样可以减少数组的拷贝,从而提高程序的效率。
阅读全文