编写 C 程序,实现输入 n 个数,然后按从大到小排序 输出,排序函数可采用冒泡排序法进行,排序函数单独放到 mysort.c 文件中。
时间: 2024-02-16 21:04:22 浏览: 58
C语言程序设计-编写函数用冒泡排序法对数组中的数据进行从小到大的排序;.c
5星 · 资源好评率100%
好的,我理解了你的问题。以下是实现该功能的 C 代码:
```c
#include <stdio.h>
#include "mysort.h" // 包含排序函数的头文件
int main() {
int n;
printf("请输入要排序的数的个数:");
scanf("%d", &n);
int nums[n];
printf("请输入这 %d 个数:\n", n);
for (int i = 0; i < n; i++) {
scanf("%d", &nums[i]);
}
mysort(nums, n); // 调用排序函数进行排序
printf("排序后的结果为:\n");
for (int i = 0; i < n; i++) {
printf("%d ", nums[i]);
}
printf("\n");
return 0;
}
```
其中,排序函数单独放置在 mysort.c 文件中,代码如下:
```c
void mysort(int arr[], int len) {
for (int i = 0; i < len - 1; i++) {
for (int j = 0; j < len - 1 - i; j++) {
if (arr[j] < arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
```
这里使用冒泡排序法进行排序,时间复杂度为 O(n^2)。排序函数的参数为一个整型数组和数组长度,返回值为 void 类型,表示函数直接修改了数组。在主函数中,先读入需要排序的数的个数和具体数值,然后调用排序函数进行排序,最后输出排序后的结果。
阅读全文