编程实现:键盘任意输入10个整数,将这10个数按从大到小的顺序排列。要求: 1)用自定义函数实现键盘任意输入10个整数存入数组中; 2)用自定义实现排序。
时间: 2024-12-22 16:33:00 浏览: 8
任意从键盘输入一组数字,然后将这些数字按顺序排列
4星 · 用户满意度95%
要实现这个功能,我们可以使用C语言的基本结构,包括数组、循环和自定义函数。这里我们将创建两个自定义函数,一个用于接收用户的输入并将数据存储在数组中,另一个用于对数组进行降序排序。
首先,我们需要定义一个函数 `input_numbers()` 来接收用户的输入:
```c
#include <stdio.h>
#define MAX_NUMS 10
int input_numbers(int arr[]) {
for (int i = 0; i < MAX_NUMS; i++) {
printf("请输入第%d个整数:", i + 1);
scanf("%d", &arr[i]);
}
return MAX_NUMS;
}
```
接下来,我们定义一个函数 `bubble_sort_descending()` 来实现冒泡排序算法(因为题目没有指定具体排序算法),从大到小排序:
```c
void bubble_sort_descending(int arr[], int n) {
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - 1 - i; j++) {
if (arr[j] < arr[j + 1]) {
// 交换元素
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
```
现在我们可以编写主程序,调用这两个函数:
```c
int main() {
int numbers[MAX_NUMS]; // 数组用来存放10个整数
// 输入10个整数
int num_of_integers = input_numbers(numbers);
// 检查输入是否正确
if (num_of_integers == MAX_NUMS) {
printf("按从大到小排序后的数组为:\n");
// 对数组进行降序排序
bubble_sort_descending(numbers, num_of_integers);
for (int i = 0; i < num_of_integers; i++) {
printf("%d ", numbers[i]);
}
printf("\n");
} else {
printf("只输入了 %d 个数字,无法进行排序。\n", num_of_integers);
}
return 0;
}
```
阅读全文