用CC语言写出如下程序:读入若干个整数,建立单链表并输出此单链表的长度
时间: 2024-10-24 16:15:32 浏览: 23
C语言程序设计:向文件读写若干字符串
在C语言中,我们可以使用结构体来表示链表节点,并编写函数来完成输入、构建链表和输出链表长度的操作。下面是一个简单的示例:
```c
#include <stdio.h>
#include <stdlib.h>
// 定义链表节点结构
typedef struct Node {
int data;
struct Node* next;
} Node;
// 创建新节点并初始化
Node* createNode(int value) {
Node* newNode = (Node*)malloc(sizeof(Node));
if (newNode != NULL) {
newNode->data = value;
newNode->next = NULL;
}
return newNode;
}
// 合并所有输入的整数到链表中
void buildList(Node** head, int arr[], int size) {
Node* current = *head;
for (int i = 0; i < size; i++) {
if (current == NULL) {
*head = createNode(arr[i]);
current = *head;
} else {
current->next = createNode(arr[i]);
current = current->next;
}
}
}
// 计算链表长度并返回
int listLength(Node* head) {
int length = 0;
while (head != NULL) {
length++;
head = head->next;
}
return length;
}
// 输出链表长度
void printLength(Node* head) {
printf("链表的长度是: %d\n", listLength(head));
}
int main() {
int n;
printf("请输入整数的数量: ");
scanf("%d", &n);
int arr[n];
printf("请输入%d个整数: ", n);
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
Node* head = NULL;
buildList(&head, arr, n);
// 输出链表长度
printLength(head);
return 0;
}
```
这个程序首先创建一个链表头指针,然后读取用户输入的整数并将它们添加到链表中。最后,通过`listLength`函数计算并打印出链表的长度。
阅读全文