问题 问答题

编写程序,将若干整数从键盘输入,以单链表形式存储起来,然后计算单链表中结点的个数(其中指针P指向该链表的第一个结点)。

答案

参考答案:

编写C程序如下(已上机通过):

全局变量及函数提前说明:

---------------------------------

#include

#include

typedefstructliuyu{intdata;structliuyu*link;}test;

liuyu*p,*q,*r,*head;

intm=sizeof(test);

voidmain()/*第一步,从键盘输入整数,不断添加到链表*/

{inti;

head=(test*)malloc(m);/*m=sizeof(test);*/

p=head;i=0;

while(i!=-9999)

{printf("/ninputaninteger[stopby’-9999’]:");

scanf("%d",&i);

p->data=i;/*inputdataissaved*/

p->link=(test*)malloc(m);/*m=sizeof(test));*/

q=p;

p=p->link;

}

q->link=NULL;/*原先用p->link=NULL似乎太晚!*/

p=head;i=0;/*统计链表结点的个数并打印出来*/

while(p->link!=NULL)

{printf("%d",p->datA.;

p=p->link;

i++;

}

printf("\nnodenumber=%d\n",i-1);/*结点的个数不包括-9999*/

}

解答题
单项选择题