如何用C语言编写程序来接收用户输入任意数量的整数,并按照从小到大的顺序进行排序并输出?
时间: 2024-12-24 13:36:45 浏览: 4
在C语言中,你可以使用循环、数组以及标准库函数`scanf`和`qsort`来实现这个功能。下面是一个简单的示例程序:
```c
#include <stdio.h>
#include <stdlib.h> // 引入qsort函数
// 定义比较函数,用于排序
int compare(const void *a, const void *b) {
return (*(int*)a - *(int*)b);
}
int main() {
int n;
printf("请输入整数的数量: ");
scanf("%d", &n); // 接收用户输入的整数数量
// 创建一个动态数组来存储整数
int* arr = (int*)malloc(n * sizeof(int));
if(arr == NULL) { // 检查内存分配是否成功
perror("Memory allocation failed");
return 1;
}
for(int i = 0; i < n; i++) {
printf("请输入第%d个整数: ", i+1);
scanf("%d", &arr[i]);
}
// 对数组进行排序
qsort(arr, n, sizeof(int), compare);
printf("按升序排列后的整数为:\n");
for(int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
free(arr); // 释放动态分配的内存
return 0;
}
```
当你运行这个程序,它会首先请求用户输入整数的数量,然后依次请求每个整数并存储在动态数组中。接着,`qsort`函数会对数组内的元素进行排序,最后输出排序后的结果。
阅读全文