用 C 语言 编写程序对10个整数进行排序。随机输入10个整数,然后进行排序,再输出从小到大的顺序和从大到小的顺序。
时间: 2024-09-19 21:18:17 浏览: 68
python练习题 :用户任意输入10个整数到列表中,然后由大到小排列并输出。
在C语言中,我们可以使用标准库函数`<stdlib.h>`提供的`rand()`和`srand()`来进行随机数生成,以及`<time.h>`获取时间作为种子,保证每次运行得到不同的随机数。而对于排序,可以选择快速排序、冒泡排序等算法。这里我们选择使用简单直观的冒泡排序。
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void bubbleSort(int arr[], int n) {
for (int i = 0; i < n - 1; i++) {
for (int 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;
}
}
}
}
void printArray(int arr[], int n, char order) {
printf("%s order:\n", order);
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
}
int main() {
srand(time(0)); // 设置随机种子,确保每次随机数不同
int arr[10];
for (int i = 0; i < 10; i++) {
arr[i] = rand() % 100; // 生成0-99之间的随机整数
printf("%d ", arr[i]); // 打印已生成的随机数
}
printf("\n");
bubbleSort(arr, 10); // 排序
printArray(arr, 10, "Ascending"); // 从小到大打印
bubbleSort(arr, 10, 1); // 冒泡排序反转数组
printArray(arr, 10, "Descending"); // 从大到小打印
return 0;
}
```
当你运行此程序,会先显示随机生成的10个整数,然后分别展示升序和降序排列的结果。
阅读全文