用c语言读入若干个整数,建立单链表并输出此单链表的长度
时间: 2024-10-21 19:17:30 浏览: 46
在 C 语言中,我们可以使用结构体表示链表节点,并通过循环读取用户输入的整数,逐个添加到链表中。这里是一个简单的步骤:
1. 定义链表节点结构体 `Node`,包含一个整数值 `data` 和一个指向下一个节点的指针 `next`。
```c
typedef struct Node {
int data;
struct Node* next;
} Node;
```
2. 创建一个函数 `readList()` 来读取整数并将它们添加到链表中,直到用户输入 -1 结束。
```c
void readList(Node** head) {
int num;
*head = NULL; // 初始化链表头节点
while (scanf("%d", &num), num != -1) {
Node* newNode = (Node*)malloc(sizeof(Node)); // 动态分配内存
newNode->data = num;
newNode->next = *head;
*head = newNode;
}
}
```
3. 再创建一个函数 `printList()` 来遍历链表并打印它的长度。
```c
void printList(Node* head) {
int length = 0;
for (Node* current = head; current != NULL; current = current->next) {
length++;
}
printf("链表的长度是:%d\n", length);
}
```
4. 主程序中结合以上两个函数使用。
```c
int main() {
Node* head = NULL;
readList(&head);
printList(head);
return 0;
}
```
当你运行这个程序时,它会提示用户输入整数,结束后显示链表的长度。
阅读全文