用C语言7-10排序输出分数10全屏浏览题目切换布局作者usx程序设计类课程组单位绍兴文理学院输入一个整数n,再输入n个整数,请把它们从小到大排序后输出。输入格式:测试数据有多组,处理到文件尾。每组测试数据输入一行,首先是整数n,接着是n个整数。输出格式:对于每组测试,在一行上输出从小到大排好序的n个数,每两个数据之间留一个空格。每两组测试数据之间留一个空行
时间: 2024-02-15 16:06:16 浏览: 214
好的,以下是用C语言实现7-10排序并输出的代码,可以在命令行中运行,也可以在IDE中编译运行:
```c
#include <stdio.h>
// 选择排序
void selection_sort(int arr[], int len) {
int i, j, min, temp;
for (i = 0; i < len - 1; i++) {
min = i;
for (j = i + 1; j < len; j++) {
if (arr[j] < arr[min]) {
min = j;
}
}
if (min != i) {
temp = arr[min];
arr[min] = arr[i];
arr[i] = temp;
}
}
}
int main() {
int n, i, j;
while (scanf("%d", &n) != EOF) {
int arr[n];
for (i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
selection_sort(arr, n);
for (i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n\n");
}
return 0;
}
```
其中,`selection_sort` 函数使用的是选择排序算法,时间复杂度为$O(n^2)$。每次找到最小值,然后交换到当前位置。最外层循环控制比较次数,内层循环控制查找最小值。函数的参数包括数组和数组长度。
在 `main` 函数中,首先读入一个整数 `n`,然后根据 `n` 的值动态分配数组空间。接着读入 `n` 个整数,调用 `selection_sort` 函数进行排序,最后输出排序后的结果并换行两次。
注意,每组测试数据之间需要留一个空行。如果在 Windows 命令行中运行,可以使用 `system("cls");` 命令清屏。如果在 Linux 终端中运行,可以使用 `system("clear");` 命令清屏。完整代码如下:
阅读全文