c语言 逐个输出一个数 并排序
时间: 2024-11-17 11:29:02 浏览: 1
在C语言中,我们可以使用标准库提供的`<stdio.h>`进行输入和输出,并结合数组和循环结构来逐个读取输入的整数,然后利用排序算法(如上述的冒泡排序或其他内置排序函数如`qsort`)对它们进行排序。下面是一个简单的例子,演示如何实现这个功能:
首先,我们需要定义一个函数来获取用户输入并将输入的整数存储在一个数组中:
```c
#include <stdio.h>
#include <stdlib.h>
int get_ints(int count, int* arr) {
for (int i = 0; i < count; ++i) {
printf("请输入第 %d 个整数:", i + 1);
scanf("%d", &arr[i]);
}
return count;
}
void sort_array(int* arr, int size) {
// 使用冒泡排序或者其他你喜欢的排序算法
int temp;
for (int i = 0; i < size - 1; i++) {
for (int j = 0; j < size - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
```
然后,主程序调用这两个函数:
```c
int main() {
int count, *numArray;
printf("你想输入多少个整数?\n");
scanf("%d", &count);
numArray = (int*) malloc(count * sizeof(int)); // 分配内存
if (get_ints(count, numArray)) { // 获取输入并排序
sort_array(numArray, count);
printf("排序后的数组:\n");
for (int i = 0; i < count; ++i) {
printf("%d ", numArray[i]);
}
free(numArray); // 释放内存
} else {
printf("输入错误或取消。\n");
}
return 0;
}
```
阅读全文