如何用编程语言生成一个包含10个随机整数(范围在0到100之间),并将它们按升序排列的列表?
时间: 2024-10-19 20:03:40 浏览: 26
算法工具类:随机生成数组、判断是否为升序、验证是否成功。
在C语言中,你可以使用`rand()`函数配合`srand()`函数生成随机数,然后结合数组和`qsort()`函数对数组进行排序。以下是一个简单的示例:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
// 定义一个结构体,用于存储随机整数及其索引
typedef struct {
int value;
size_t index;
} RandomInt;
// 比较函数,用于qsort排序
int compare(const void *a, const void *b) {
RandomInt *ra = (RandomInt *) a;
RandomInt *rb = (RandomInt *) b;
return ra->value - rb->value;
}
int main() {
// 设置随机数种子,确保每次程序运行结果一致(可选)
srand(time(0));
// 初始化一个包含10个元素的数组,每个元素都是随机整数(0-100)
RandomInt array[10];
for (size_t i = 0; i < 10; ++i) {
array[i].value = rand() % 101; // 生成0-100之间的随机数
array[i].index = i; // 存储每个元素的索引
}
// 使用qsort对数组按值进行升序排序
qsort(array, sizeof(array) / sizeof(array[0]), sizeof(RandomInt), compare);
// 打印排序后的数组
printf("Sorted array of 10 random integers between 0 and 100:\n");
for (size_t i = 0; i < 10; ++i) {
printf("%d (at index %zu)\n", array[i].value, array[i].index);
}
return 0;
}
```
当你运行这段代码时,它会生成一个包含10个随机整数并按照升序排列的列表。
阅读全文