读入n值及n个整数,建立顺序表并遍历输出。c语言
时间: 2024-10-23 10:11:30 浏览: 41
在 C 语言中,你可以通过以下几个步骤来实现这个功能:
1. **包含头文件**:
```c
#include <stdio.h> // 包含输入输出操作的头文件
#include <stdlib.h> // 包含内存管理函数的头文件
```
2. **声明结构体** (如果还没有定义序列表):
```c
typedef struct {
int data; // 序列表中的元素
struct seq_node *next; // 指向下一个节点的指针
} seq_node;
```
3. **函数声明**:
```c
seq_node* create_list(int n); // 创建列表的函数
void display_list(seq_node* head); // 遍历并显示列表的函数
```
4. **创建列表** 函数实现:
```c
seq_node* create_list(int n) {
seq_node* head = NULL;
seq_node* current = NULL;
for (int i = 0; i < n; i++) {
int input;
printf("请输入第 %d 个整数:", i + 1);
scanf("%d", &input);
seq_node* newNode = (seq_node*)malloc(sizeof(seq_node));
newNode->data = input;
newNode->next = NULL;
if (head == NULL) {
head = newNode;
current = newNode;
} else {
current->next = newNode;
current = newNode;
}
}
return head;
}
```
5. **遍历并输出列表** 函数实现:
```c
void display_list(seq_node* head) {
seq_node* temp = head;
while (temp != NULL) {
printf("%d ", temp->data); // 输出当前节点的数据
temp = temp->next; // 移动到下一个节点
}
printf("\n");
}
```
6. **主函数** 中调用这两个函数:
```c
int main() {
int n;
printf("请输入元素的数量:");
scanf("%d", &n);
seq_node* listHead = create_list(n);
display_list(listHead);
free(listHead); // 释放内存
return 0;
}
```
阅读全文