功能:读入一个整数m( 5≤m≤20 ),函数getarr调用函数rnd获
得m个随机整数,函数sortpb将这m个随机整数从小到大排序
试一下:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
// 生成随机数
int rnd() {
return rand() % 100; // 假设生成 0-99 的随机整数
}
// 冒泡排序
void sortpb(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;
}
}
}
}
// 获取m个随机整数
void getarr(int m) {
int arr[m];
// 设置随机种子
srand(time(NULL));
// 生成随机数并存入数组
for (int i = 0; i < m; i++) {
arr[i] = rnd();
}
// 排序
sortpb(arr, m);
// 输出排序后的数组
for (int i = 0; i < m; i++) {
printf("%d ", arr[i]);
}
printf("\n");
}
int main() {
int m;
printf("请输入一个整数m(5≤m≤20): ");
scanf("%d", &m);
if (m < 5 || m > 20) {
printf("输入的整数不符合要求!\n");
return 1;
}
getarr(m);
return 0;
}