题目内容

补充以下程序,使得程序实现对结构体数组进行数据输入及输出。#includestruct student{int num;char name[20];int score;};int main(){struct student stu[5],*p;p=;int i;for(i=0;i<5;i++){scanf("%d%s%d",&p->num,,);p++;}p=stu;for(i=0;i<5;i++){printf("%d %s %d\n",,p->name,);p++;}return 0;}

查看答案
更多问题

补充以下函数,使得函数实现单向链表动态建立的功能。结点结构体定义:struct node//结点结构体{int num;struct node *next;};struct node * createL(struct node * head)//单向链表建立{struct node *pEnd,*pNew;pNew= (struct node *)malloc(sizeof());//动态生成一个结点head=pNew;//头指针指向第一个节点pEnd=pNew; //当前链表尾结点指针也指向第一个结点scanf("%d ",&pNew->num);//输入结点数据while( pNew->num!=0)//结点数据不为0,继续增加新结点{pNew->next=NULL;//设置新节点的指针为空pEnd->next=;//当前链表的尾结点指针指向新结点;pEnd=pNew;//pEnd指向当前新节点pNew= (struct node *)malloc(sizeof(struct node)); //继续申请新结点内存空间scanf("%d",&pNew->num); //输入结点数据}free();//释放没有用到的结点空间return head;}

补充以下函数,使得函数实现对单向链表的输出功能。struct node //链表结点结构体{int num;struct node *next;};void printL(struct node *head)//单向链表的输出{struct node *pTemp;pTemp=;//让pTemp指针指向链表的首结点while(pTemp!=NULL)//pTemp没有指向空,即链表没有遍历完{printf("%d->",pTemp->);//输出链表中当前结点的数据pTemp=;//pTemp指向下一个结点}printf("\n");}

补充以下函数,使得函数是实现单向链表的插入操作功能。struct node//链表结构体{int num;struct node *next;};struct node * insertL(struct node * head)//单项链表的插入{struct node *p,*q,*pNew;pNew= (struct node *)malloc(sizeof(struct node)); //为要插入的结点申请空间printf("\n输入要插入的新结点数据num:\n");scanf("%d",&pNew->num); //输入结点数据pNew->next=;if(pNew->numnum) //新结点数据比头结点数据小,则插入到头结点前{pNew->next=;=pNew;}else//新结点插入到链表中间或尾部{p=head;while(p!=NULL && p->numnum)//遍历链表,找到新结点要插入的位置{q=p;//用q记录前驱结点=p->next; //用p记录遍历到的当前结点}if(q!=NULL){=p; //把新结点连接到p结点之前q->next=;//把新结点连接到q结点之后}else{p->next=; //把新结点连接到尾结点后}}return head;}

补充以下函数,使得函数是实现单向链表的删除结点操作功能。struct node//链表结构体{int num;struct node *next;};struct node * deleteL(struct node * head) //单向链表的删除{int num;printf("\n输入要删除的结点数据num:\n");scanf("%d",&num);struct node *p,*q;if(==num)//删除头结点{p=head;//p指向链表头结点head=;//head指向头结点的下一个结点,使其成为新的头结点}else//删除中间结点或尾结点{p=head;while(p!=NULL&&p->num!=num) //遍历到要删除的结点位置p{q=p;p=p->next;}if(p!=NULL)//要删除的结点在中间{q->next=;}else//要删除的结点在尾部{q->next=NULL;}}free(); //释放删掉的结点内存空间return head;}

答案查题题库