使用c语言编写输入任意个整数并按造大小排序
时间: 2024-11-10 13:26:03 浏览: 30
在C语言中,你可以使用数组来存储输入的任意个整数,并通过循环遍历、比较和交换元素来实现排序。这里我们可以选择经典的冒泡排序算法作为例子。以下是简单的步骤:
1. 首先,声明一个足够大的动态数组`int arr[]`来存放输入的整数,其大小取决于用户的输入。
```c
#include <stdio.h>
#include <stdlib.h>
#define MAX_NUM 100 // 可能需要用户输入最大值
int main() {
int n, i, j;
printf("请输入整数的数量(最多%d个): ", MAX_NUM);
scanf("%d", &n);
// 动态分配内存
int *arr = (int*) malloc(n * sizeof(int));
```
2. 接着,使用`for`循环获取每个整数并存储到数组中。
```c
for (i = 0; i < n; i++) {
printf("请输入第%d个整数: ", i+1);
scanf("%d", &arr[i]);
}
```
3. 冒泡排序部分,使用嵌套循环比较并交换元素。
```c
// 冒泡排序算法
for (i = 0; i < n - 1; i++) { // 遍历所有元素
for (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; // 交换位置
}
}
}
```
4. 最后,打印排序后的结果。
```c
printf("排序后的整数为:\n");
for (i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
free(arr); // 释放动态分配的内存
return 0;
}
阅读全文