编写程序,随机产生十个1到100之间的正整数存储在数组中,将该数组中的元素按由大到小进行排序,输出排序前及排序后的数组元素。要求排序算法分别使用选择法和冒泡法。c语言
时间: 2024-12-15 10:14:48 浏览: 57
在C语言中,你可以通过以下几个步骤来完成这个任务:
首先,创建一个数组并生成随机数:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
srand(time(0)); // 设置随机种子
int arr[10];
for (int i = 0; i < 10; i++) {
arr[i] = rand() % 100 + 1; // 生成1到100的随机整数
}
printf("原始数组(未排序): ");
for (int i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
printf("\n");
// 接下来,我们分别使用选择法和冒泡法进行排序
// 选择法排序
selection_sort(arr, sizeof(arr) / sizeof(arr[0]));
printf("选择法排序后数组: ");
for (int i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
printf("\n\n");
// 冒泡法排序
bubble_sort(arr, sizeof(arr) / sizeof(arr[0]));
printf("冒泡法排序后数组: ");
for (int i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
// 选择法排序
void selection_sort(int arr[], int n) {
for (int i = 0; i < n - 1; i++) {
int min_idx = i;
for (int j = i + 1; j < n; j++) {
if (arr[j] > arr[min_idx]) {
min_idx = j;
}
}
if (min_idx != i) {
int temp = arr[min_idx];
arr[min_idx] = arr[i];
arr[i] = temp;
}
}
}
// 冒泡法排序
void bubble_sort(int arr[], int n) {
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
```
运行此程序会输出原始数组和经过选择法和冒泡法排序后的数组。
阅读全文
相关推荐



















