用c语言随机生成10个数,创建顺序表,输出线性表
时间: 2024-09-29 14:14:30 浏览: 17
在C语言中,你可以使用`srand()`和`rand()`函数来自动生成随机数。首先需要包含头文件`<stdlib.h>`,然后在生成随机数之前设置随机种子。下面是一个简单的例子,演示如何生成10个随机数并将它们放入顺序表(动态数组)中:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h> // 引入time.h库以获取当前时间作为随机种子
#define MAX_SIZE 10
typedef struct {
int data[MAX_SIZE]; // 存储随机数的数组
int size; // 数组的实际大小
} SequenceList;
// 初始化顺序表
void initList(SequenceList* list) {
list->size = 0;
}
// 随机生成一个范围内的整数
int randomInt(int min, int max) {
return min + rand() % (max - min + 1);
}
// 添加元素到顺序表
void addToList(SequenceList* list, int num) {
if (list->size < MAX_SIZE) {
list->data[list->size++] = num;
} else {
printf("Sequence list is full.\n");
}
}
// 输出顺序表
void printList(const SequenceList* list) {
printf("Linear List: [");
for (int i = 0; i < list->size; i++) {
printf("%d ", list->data[i]);
}
printf("]\n");
}
int main() {
// 设置随机数种子,保证每次运行结果不同
srand((unsigned)time(0));
SequenceList myList;
initList(&myList);
// 生成并添加10个随机数
for (int i = 0; i < 10; i++) {
int randomNum = randomInt(1, 100); // 生成1到100之间的随机数
addToList(&myList, randomNum);
}
// 输出生成的顺序表
printList(&myList);
return 0;
}
```
在这个程序中,我们首先设置了序列列表的大小上限为10,然后生成10个1到100的随机数,并将它们依次添加到列表中。当列表已满时,不再添加新的元素。最后,我们打印出整个序列列表。