c语言 编写一道程序随机输入10个整数,将其从小到大排列并输出奇数序号的数字
时间: 2024-02-15 13:04:00 浏览: 82
C语言程序设计-编写函数fun对主程序中用户输入的具有10个数据的数组a按由大到小排序,并在主程序中输出排序结果;
5星 · 资源好评率100%
下面是一个示例程序,可以实现您的需求:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define N 10
int compare(const void *a, const void *b) {
return *(int*)a - *(int*)b;
}
int main() {
int a[N];
int i;
srand(time(NULL)); // 初始化随机数种子
// 随机生成10个整数
for (i = 0; i < N; i++) {
a[i] = rand() % 100;
}
// 排序
qsort(a, N, sizeof(int), compare);
// 输出奇数序号的数字
for (i = 0; i < N; i += 2) {
if (a[i] % 2 == 1) {
printf("%d ", a[i]);
}
}
printf("\n");
return 0;
}
```
首先,我们使用 `srand()` 函数初始化随机数种子,然后使用 `rand()` 函数生成10个随机数,存储在数组 `a` 中。接着,使用 `qsort()` 函数对数组 `a` 进行快速排序,将其从小到大排列。最后,我们使用一个循环输出奇数序号的数字,使用 `%` 运算符判断一个数字是否为奇数。
注意,如果您需要更复杂的排序算法,比如归并排序或堆排序,可以自行实现。同时,如果您需要更灵活的选择输出的数字的条件,比如输出前5个数字或输出所有大于某个值的数字等等,可以根据具体需求进行修改。
阅读全文