定义函数GetData( )用于接收键盘输入的一组整型数据,并放入一数组中;另外再定义一个函数Sort( )用于对输入的这一组数据按照降序排列。主函数先后调用GetData和Sort函数,输出最后的排序结果。。c语言
时间: 2024-12-28 21:34:49 浏览: 10
在C语言中,你可以通过以下步骤来实现这个功能:
首先,我们需要声明一个数组来存储输入的数据,并定义两个函数:`GetData` 和 `SortData`。
```c
#include <stdio.h>
#include <stdlib.h> // 包含sort函数的头文件
#define MAX_SIZE 10 // 设置数组的最大大小
// 函数定义:获取键盘输入并存入数组
int* GetData(int size) {
int* arr = (int*)malloc(size * sizeof(int)); // 动态分配内存
for (int i = 0; i < size; i++) {
printf("请输入第 %d 个数:", i + 1);
scanf("%d", &arr[i]); // 输入数据
}
return arr;
}
// 函数定义:按降序排序数组
void Sort(int* arr, int size) {
int temp;
for (int i = 0; i < size - 1; i++) {
for (int j = 0; j < size - 1 - i; j++) {
if (arr[j] < arr[j + 1]) { // 如果前一个元素小于下一个元素
temp = arr[j];
arr[j] = arr[j + 1]; // 交换位置
arr[j + 1] = temp;
}
}
}
}
int main() {
int data_size;
printf("请输入要输入的整数个数:");
scanf("%d", &data_size);
if (data_size > MAX_SIZE) {
printf("输入的数据超过最大限制!\n");
return 1; // 处理错误情况
}
int* input_data = GetData(data_size); // 调用GetData函数
Sort(input_data, data_size); // 调用Sort函数
printf("数据按照降序排列:");
for (int i = 0; i < data_size; i++) {
printf("%d ", input_data[i]);
}
printf("\n");
free(input_data); // 释放动态分配的内存
return 0;
}
```
在这个程序中,`GetData` 函数接收用户输入并存储到数组中,然后`Sort` 函数会按照降序对数组进行排序。在`main`函数里,我们先读取用户想要排序的整数数量,检查是否超出数组容量,接着调用这两个函数,最后输出排序后的结果并释放内存。
阅读全文