建立一个c语言程序将键盘输入的n个整数降序输出,使用选择排序。要求用函数实现排序,主函数完成数据输入、排序函数的调用及排序结果输出。 【输入形式】 输入入两行。第一行一个n值,第二行n个整数。 【输出形式】 输出一行数据,数据降序排列,每个数据占4列。
时间: 2024-11-03 12:13:00 浏览: 9
C语言程序设计-编写函数实现两个数据的交换,在主函数中输入任意三个数据,调用函数对这三个数据从大到小排序;.c
5星 · 资源好评率100%
在C语言中,你可以创建一个程序来实现这个功能。首先,我们需要定义一个函数来进行选择排序,然后在主函数中处理用户输入并调用这个函数。下面是一个简单的示例:
```c
#include <stdio.h>
// 定义选择排序函数
void selectionSort(int arr[], int n) {
for (int i = 0; i < n - 1; ++i) {
int max_idx = i;
for (int j = i + 1; j < n; ++j) {
if (arr[j] > arr[max_idx]) {
max_idx = j;
}
}
// 交换找到的最大元素的位置
int temp = arr[i];
arr[i] = arr[max_idx];
arr[max_idx] = temp;
}
}
// 主函数
int main() {
int n, temp;
// 输入数组大小
printf("请输入整数个数:");
scanf("%d", &n);
// 输入数组元素
int arr[n];
for (int i = 0; i < n; ++i) {
printf("请输入第 %d 个整数:", i + 1);
scanf("%d", &arr[i]);
}
// 对数组进行排序
selectionSort(arr, n);
// 输出排序后的数组
printf("\n排序后的数组(降序):\n");
for (int i = 0; i < n; ++i) {
printf("%4d ", arr[i]); // 四列宽度打印
}
printf("\n");
return 0;
}
```
在这个程序中,`selectionSort` 函数实现了选择排序算法,而 `main` 函数负责接收用户的输入,调用排序函数,并显示排序后的结果。
阅读全文