用c语言编写程序,使用rand函数产生数值小于200随机整数300个,并保存到数组data[]中,并将data[]数组按照非递减的顺序重新排序。
时间: 2024-12-13 14:14:52 浏览: 14
在C语言中,你可以使用`srand()`和`rand()`函数生成随机数,然后使用冒泡排序或快速排序等算法对数组进行排序。这里是一个简单的例子,展示了如何生成随机数并对其进行排序:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h> // 需要包含头文件获取时间
#define SIZE 300
int data[SIZE]; // 定义数组
void generate_random_numbers() {
srand(time(0)); // 设置随机数种子,确保每次运行结果不同
for (int i = 0; i < SIZE; ++i) {
data[i] = rand() % 200; // 生成0到199之间的随机数
}
}
void bubble_sort(int arr[], int size) {
for (int i = 0; i < size - 1; ++i) {
for (int j = 0; j < size - 1 - i; ++j) {
if (arr[j] > arr[j + 1]) {
// 交换元素
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
int main() {
generate_random_numbers();
printf("Generated random numbers:\n");
for (int i = 0; i < SIZE; ++i) {
printf("%d ", data[i]);
}
bubble_sort(data, SIZE);
printf("\nSorted in ascending order:\n");
for (int i = 0; i < SIZE; ++i) {
printf("%d ", data[i]);
}
return 0;
}
```
这个程序首先生成300个0到199之间的随机数,然后使用冒泡排序算法将它们按升序排列。
阅读全文