用c语言写一段程序,用户输入一串数字,创建一个链式存储线性表
时间: 2024-05-07 21:16:37 浏览: 124
计算机软件基础一高等教育自学考试试题及答案解析.doc
好的,以下是用 C 语言编写的程序,可以实现用户输入一串数字并创建一个链式存储的线性表:
```c
#include <stdio.h>
#include <stdlib.h>
typedef struct node {
int data; // 存放数据
struct node* next; // 指向下一个节点
} Node, *ListNode;
int main() {
ListNode head = NULL, tail = NULL; // 定义头指针和尾指针
int num;
printf("请输入一串数字,以 -1 结束:\n");
scanf("%d", &num);
// 循环读取用户输入的数字,创建节点,并加入链式存储线性表
while (num != -1) {
ListNode newNode = (ListNode)malloc(sizeof(Node));
newNode->data = num;
newNode->next = NULL;
if (head == NULL) {
head = newNode;
tail = newNode;
} else {
tail->next = newNode;
tail = newNode;
}
scanf("%d", &num);
}
// 遍历链式存储线性表,打印出所有节点的数据
printf("链式存储线性表中的数据为:");
ListNode p = head;
while (p != NULL) {
printf("%d ", p->data);
p = p->next;
}
// 释放所有节点的内存空间
p = head;
while (p != NULL) {
ListNode q = p;
p = p->next;
free(q);
}
return 0;
}
```
希望能够解决您的问题。如果还有其它问题,欢迎提出。
阅读全文