下列给定程序是建立一个带头结点的单向链表,并用随机函数为各结点赋值。函数fun()的功能是:将单向链表结点(不包括头结点)数据域为偶数的值累加起来,并作为函数值返回。<br/>请改正函数fun中的错误,使它能得出正确的结果。<br/>注意:部分源程序在文件MODII.C中,不要改动main函数,不得增行或删行,也不得更改程序的结构!<br/>试题程序:<br/>#include<stdlib.h><br/>#include<conio.h><br/>#include<stdio.h><br/>typedefstructaa<br/>{<br/>intdata;<br/>structaa*next;<br/>}NODE;<br/>intfun(NODE*h)<br/>{<br/>intsum=0;<br/>NODE*p;<br/>p=h->next;<br/>/*********found*********/<br/>while(p->next)<br/>{<br/>if(p->data%2==0)<br/>sum+=p->data;<br/>/*********found*********/<br/>p=h->next;<br/>}<br/>returnsum;<br/>}<br/>NODE*creatlink(intn)<br/>{<br/>NODE*h,*p,*s;<br/>inti;<br/>h=p=(NODE*)malloc(sizeof(NODE));<br/>for(i=1;i<n;i++)<br/>{<br/>s=(NODE*)malloc(sizeof(NODE));<br/>s->data=rand()%16;<br/>s->next=p->next;<br/>p->next=s;<br/>p=p->next;<br/>}<br/>p->next=NULL;<br/>returnh;<br/>}<br/>outlink(NODE*h)<br/>{<br/>NODE*p;<br/>p=h->next;<br/>printf("\n\nTheLIST:\n\nHEAD");<br/>while(p)<br/>{<br/>printf("->%d",p->data);<br/>p=p->next;<br/>}<br/>printf("\n");<br/>}<br/>main()<br/>{<br/>NODE*head;<br/>intsum;<br/>system("CLS");<br/>head=creatlink(10);<br/>outlink(head);<br/>sum=fun(head);<br/>printf("\nSUM=%d\n",sum);<br/>}<br/>
下列给定程序是建立一个带头结点的单向链表,并用随机函数为各结点赋值。函数fun()的功能是:将单向链表结点(不包括头结点)数据域为偶数的值累加起来,并作为函数值返回。<br/>请改正函数fun中的错误,使它能得出正确的结果。<br/>注意:部分源程序在文件MODII.C中,不要改动main函数,不得增行或删行,也不得更改程序的结构!<br/>试题程序:<br/>#include<stdlib.h><br/>#include<conio.h><br/>#include<stdio.h><br/>typedefstructaa<br/>{<br/>intdata;<br/>structaa*next;<br/>}NODE;<br/>intfun(NODE*h)<br/>{<br/>intsum=0;<br/>NODE*p;<br/>p=h->next;<br/>/*********found*********/<br/>while(p->next)<br/>{<br/>if(p->data%2==0)<br/>sum+=p->data;<br/>/*********found*********/<br/>p=h->next;<br/>}<br/>returnsum;<br/>}<br/>NODE*creatlink(intn)<br/>{<br/>NODE*h,*p,*s;<br/>inti;<br/>h=p=(NODE*)malloc(sizeof(NODE));<br/>for(i=1;i<n;i++)<br/>{<br/>s=(NODE*)malloc(sizeof(NODE));<br/>s->data=rand()%16;<br/>s->next=p->next;<br/>p->next=s;<br/>p=p->next;<br/>}<br/>p->next=NULL;<br/>returnh;<br/>}<br/>outlink(NODE*h)<br/>{<br/>NODE*p;<br/>p=h->next;<br/>printf("\n\nTheLIST:\n\nHEAD");<br/>while(p)<br/>{<br/>printf("->%d",p->data);<br/>p=p->next;<br/>}<br/>printf("\n");<br/>}<br/>main()<br/>{<br/>NODE*head;<br/>intsum;<br/>system("CLS");<br/>head=creatlink(10);<br/>outlink(head);<br/>sum=fun(head);<br/>printf("\nSUM=%d\n",sum);<br/>}<br/>
下列给定程序中,是建立一个带头结点的单向链表,并用随机函数为各结点数据域赋值。函数fun的作用是求出单向链表结点(不包括头结点)数据域中的最大值,并且作为函数值返回。请改正程序指定部位的错误,使它能得到正确结果。<br/>注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。<br/>/**********code.c**********/<br/>#include<stdio.h><br/>#include<stdlib.h><br/>typedefstructaa<br/>{<br/>intdata;<br/>structaa*next;<br/>}NODE;<br/>fun(NODE*h)<br/>{<br/>intmax=-1;<br/>NODE*p;<br/>/**********found**********/<br/>p=h;<br/>while(p)<br/>{<br/>if(p->data>max)<br/>max=p->data;<br/>/**********found**********/<br/>p=h->next;<br/>}<br/>returnmax;<br/>}<br/>outresult(ints,FILE*pf)<br/>{<br/>fprintf(pf,"\nThemaxinlink:%d\n",s);<br/>}<br/>NODE*creatlink(intn,intm)<br/>{<br/>NODE*h,*p,*s,*q;<br/>inti,x;<br/>h=p=(NODE*)malloc(sizeof(NODE));<br/>h->data=9999;<br/>for(i=1;i<=n;i++)<br/>{<br/>s=(NODE*)malloc(sizeof(NODE));<br/>s->data=rand()%m;<br/>s->next=p->next;<br/>p->next=s;<br/>p=p->next;<br/>}<br/>p->next=NULL;<br/>returnh;<br/>}<br/><br/>outlink(NODE*h,FILE*pf)<br/>{<br/>NODE*p;<br/>p=h->next;<br/>fprintf(pf,"\nTHELIST:\n\nHEAD");<br/>while(p)<br/>{<br/>fprintf(pf,"->%d",p->data);<br/>p=p->next;<br/>}<br/>fprintf(pf,"\n");<br/>}<br/>main()<br/>{<br/>NODE*head;intm;<br/>head=creatlink(12,100);<br/>outlink(head,stdout);<br/>m=fun(head);<br/>printf("\nTHERESULT:\n");<br/>outresult(m,stdout);<br/>}<br/>/**********-code.c**********/
下列给定程序中,是建立一个带头结点的单向链表,并用随机函数为各结点数据域赋值。函数fun的作用是求出单向链表结点(不包括头结点)数据域中的最大值,并且作为函数值返回。请改正程序指定部位的错误,使它能得到正确结果。<br/>注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。<br/>/**********code.c**********/<br/>#include<stdio.h><br/>#include<stdlib.h><br/>typedefstructaa<br/>{<br/>intdata;<br/>structaa*next;<br/>}NODE;<br/>fun(NODE*h)<br/>{<br/>intmax=-1;<br/>NODE*p;<br/>/**********found**********/<br/>p=h;<br/>while(p)<br/>{<br/>if(p->data>max)<br/>max=p->data;<br/>/**********found**********/<br/>p=h->next;<br/>}<br/>returnmax;<br/>}<br/>outresult(ints,FILE*pf)<br/>{<br/>fprintf(pf,"\nThemaxinlink:%d\n",s);<br/>}<br/>NODE*creatlink(intn,intm)<br/>{<br/>NODE*h,*p,*s,*q;<br/>inti,x;<br/>h=p=(NODE*)malloc(sizeof(NODE));<br/>h->data=9999;<br/>for(i=1;i<=n;i++)<br/>{<br/>s=(NODE*)malloc(sizeof(NODE));<br/>s->data=rand()%m;<br/>s->next=p->next;<br/>p->next=s;<br/>p=p->next;<br/>}<br/>p->next=NULL;<br/>returnh;<br/>}<br/><br/>outlink(NODE*h,FILE*pf)<br/>{<br/>NODE*p;<br/>p=h->next;<br/>fprintf(pf,"\nTHELIST:\n\nHEAD");<br/>while(p)<br/>{<br/>fprintf(pf,"->%d",p->data);<br/>p=p->next;<br/>}<br/>fprintf(pf,"\n");<br/>}<br/>main()<br/>{<br/>NODE*head;intm;<br/>head=creatlink(12,100);<br/>outlink(head,stdout);<br/>m=fun(head);<br/>printf("\nTHERESULT:\n");<br/>outresult(m,stdout);<br/>}<br/>/**********-code.c**********/