用c语言产生20个1-200的随机整数,并依次保存到带头节点的单链表中
时间: 2024-10-16 08:21:49 浏览: 26
在C语言中,我们可以使用`rand()`函数生成随机数,结合头插法将它们插入到链表中。首先,你需要包含一些必要的头文件,如`stdio.h`, `stdlib.h`以及链表相关的定义。这里是一个简单的步骤说明:
1. 定义一个结构体表示链表节点,包含数据域和指针域。
```c
typedef struct Node {
int data;
struct Node* next;
} Node;
```
2. 创建链表的头结点并初始化。
```c
Node* head = NULL;
```
3. 使用`srand(time(NULL))`初始化随机数种子,确保每次运行程序时生成不同的随机数序列。
4. 循环生成20个随机数,并插入到链表中。
```c
for (int i = 0; i < 20; ++i) {
int random_num = rand() % 200 + 1; // 生成1到200之间的随机整数
Node* newNode = (Node*)malloc(sizeof(Node));
newNode->data = random_num;
if (head == NULL) { // 链表为空的情况
head = newNode;
} else {
Node* temp = head;
while (temp->next != NULL) {
temp = temp->next;
}
temp->next = newNode;
}
}
```
5. 现在链表中有20个随机数,你可以通过遍历链表查看它们。
注意:在实际应用中,记得处理内存分配失败的情况,以及在结束程序前释放所有已分配的内存,避免内存泄漏。
阅读全文