6-13 链表-遍历链表 分数 20 全屏浏览题目 作者 叶青 单位 长春理工大学 本题要求实现一个函数,从链表的头指针开始遍历整个链表,输出每个节点字符数据。 head是链表的头指针,链表上节点的定义如下: struct node {char ch; struct node * next;} 函数接口定义: void countnode(struct node *head); head是链表头指针,函数显示链表中节点的ch成员中字符 裁判测试程序样例: #include <stdio.h> #include<stdlib.h> struct node {int ch; struct node * next;} struct node *setlink(int N); void countnode( struct node * head);//在下面代码区定义此函数 int main() { int i,N; struct node *head; scanf("%d",&N); head=setlink(N); countnode(head); return 0; } /* 请在这里填写答案 */ 输入样例: 5 输出样例: abcde 代码长度限制 16 KB 时间限制 400 ms 内存限制 64 MB C (gcc)
时间: 2024-01-22 14:03:46 浏览: 241
关于链表 指针
题目要求实现一个函数 countnode,其功能是从链表头开始遍历整个链表,输出每个节点字符数据。函数接口定义如下:
```c
void countnode(struct node *head);
```
其中,head 是链表头指针。链表上节点的定义如下:
```c
struct node {
char ch;
struct node *next;
};
```
下面是 countnode 函数的实现:
```c
void countnode(struct node *head) {
struct node *p = head;
while (p != NULL) {
printf("%c", p->ch);
p = p->next;
}
}
```
countnode 函数的思路很简单,就是从链表头开始,一直遍历到链表尾,输出每个节点的字符数据。具体实现就是一个 while 循环,每次循环输出当前节点的字符数据,然后将当前节点指针 p 指向下一个节点,直到链表尾。
阅读全文