• 2022-06-09 问题

    下列给定程序是建立一个带头结点的单向链表,并用随机函数为各结点赋值。函数fun()的功能是:将单向链表结点(不包括头结点)数据域为偶数的值累加起来,并作为函数值返回。<br/>请改正函数fun中的错误,使它能得出正确的结果。<br/>注意:部分源程序在文件MODII.C中,不要改动main函数,不得增行或删行,也不得更改程序的结构!<br/>试题程序:<br/>#include&lt;stdlib.h&gt;<br/>#include&lt;conio.h&gt;<br/>#include&lt;stdio.h&gt;<br/>typedefstructaa<br/>{<br/>intdata;<br/>structaa*next;<br/>}NODE;<br/>intfun(NODE*h)<br/>{<br/>intsum=0;<br/>NODE*p;<br/>p=h-&gt;next;<br/>/*********found*********/<br/>while(p-&gt;next)<br/>{<br/>if(p-&gt;data%2==0)<br/>sum+=p-&gt;data;<br/>/*********found*********/<br/>p=h-&gt;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&lt;n;i++)<br/>{<br/>s=(NODE*)malloc(sizeof(NODE));<br/>s-&gt;data=rand()%16;<br/>s-&gt;next=p-&gt;next;<br/>p-&gt;next=s;<br/>p=p-&gt;next;<br/>}<br/>p-&gt;next=NULL;<br/>returnh;<br/>}<br/>outlink(NODE*h)<br/>{<br/>NODE*p;<br/>p=h-&gt;next;<br/>printf(&quot;\n\nTheLIST:\n\nHEAD&quot;);<br/>while(p)<br/>{<br/>printf(&quot;-&gt;%d&quot;,p-&gt;data);<br/>p=p-&gt;next;<br/>}<br/>printf(&quot;\n&quot;);<br/>}<br/>main()<br/>{<br/>NODE*head;<br/>intsum;<br/>system(&quot;CLS&quot;);<br/>head=creatlink(10);<br/>outlink(head);<br/>sum=fun(head);<br/>printf(&quot;\nSUM=%d\n&quot;,sum);<br/>}<br/>

    下列给定程序是建立一个带头结点的单向链表,并用随机函数为各结点赋值。函数fun()的功能是:将单向链表结点(不包括头结点)数据域为偶数的值累加起来,并作为函数值返回。<br/>请改正函数fun中的错误,使它能得出正确的结果。<br/>注意:部分源程序在文件MODII.C中,不要改动main函数,不得增行或删行,也不得更改程序的结构!<br/>试题程序:<br/>#include&lt;stdlib.h&gt;<br/>#include&lt;conio.h&gt;<br/>#include&lt;stdio.h&gt;<br/>typedefstructaa<br/>{<br/>intdata;<br/>structaa*next;<br/>}NODE;<br/>intfun(NODE*h)<br/>{<br/>intsum=0;<br/>NODE*p;<br/>p=h-&gt;next;<br/>/*********found*********/<br/>while(p-&gt;next)<br/>{<br/>if(p-&gt;data%2==0)<br/>sum+=p-&gt;data;<br/>/*********found*********/<br/>p=h-&gt;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&lt;n;i++)<br/>{<br/>s=(NODE*)malloc(sizeof(NODE));<br/>s-&gt;data=rand()%16;<br/>s-&gt;next=p-&gt;next;<br/>p-&gt;next=s;<br/>p=p-&gt;next;<br/>}<br/>p-&gt;next=NULL;<br/>returnh;<br/>}<br/>outlink(NODE*h)<br/>{<br/>NODE*p;<br/>p=h-&gt;next;<br/>printf(&quot;\n\nTheLIST:\n\nHEAD&quot;);<br/>while(p)<br/>{<br/>printf(&quot;-&gt;%d&quot;,p-&gt;data);<br/>p=p-&gt;next;<br/>}<br/>printf(&quot;\n&quot;);<br/>}<br/>main()<br/>{<br/>NODE*head;<br/>intsum;<br/>system(&quot;CLS&quot;);<br/>head=creatlink(10);<br/>outlink(head);<br/>sum=fun(head);<br/>printf(&quot;\nSUM=%d\n&quot;,sum);<br/>}<br/>

  • 2022-06-09 问题

    下列给定程序中,是建立一个带头结点的单向链表,并用随机函数为各结点数据域赋值。函数fun的作用是求出单向链表结点(不包括头结点)数据域中的最大值,并且作为函数值返回。请改正程序指定部位的错误,使它能得到正确结果。<br/>注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。<br/>/**********code.c**********/<br/>#include&lt;stdio.h&gt;<br/>#include&lt;stdlib.h&gt;<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-&gt;data&gt;max)<br/>max=p-&gt;data;<br/>/**********found**********/<br/>p=h-&gt;next;<br/>}<br/>returnmax;<br/>}<br/>outresult(ints,FILE*pf)<br/>{<br/>fprintf(pf,&quot;\nThemaxinlink:%d\n&quot;,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-&gt;data=9999;<br/>for(i=1;i&lt;=n;i++)<br/>{<br/>s=(NODE*)malloc(sizeof(NODE));<br/>s-&gt;data=rand()%m;<br/>s-&gt;next=p-&gt;next;<br/>p-&gt;next=s;<br/>p=p-&gt;next;<br/>}<br/>p-&gt;next=NULL;<br/>returnh;<br/>}<br/><br/>outlink(NODE*h,FILE*pf)<br/>{<br/>NODE*p;<br/>p=h-&gt;next;<br/>fprintf(pf,&quot;\nTHELIST:\n\nHEAD&quot;);<br/>while(p)<br/>{<br/>fprintf(pf,&quot;-&gt;%d&quot;,p-&gt;data);<br/>p=p-&gt;next;<br/>}<br/>fprintf(pf,&quot;\n&quot;);<br/>}<br/>main()<br/>{<br/>NODE*head;intm;<br/>head=creatlink(12,100);<br/>outlink(head,stdout);<br/>m=fun(head);<br/>printf(&quot;\nTHERESULT:\n&quot;);<br/>outresult(m,stdout);<br/>}<br/>/**********-code.c**********/

    下列给定程序中,是建立一个带头结点的单向链表,并用随机函数为各结点数据域赋值。函数fun的作用是求出单向链表结点(不包括头结点)数据域中的最大值,并且作为函数值返回。请改正程序指定部位的错误,使它能得到正确结果。<br/>注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。<br/>/**********code.c**********/<br/>#include&lt;stdio.h&gt;<br/>#include&lt;stdlib.h&gt;<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-&gt;data&gt;max)<br/>max=p-&gt;data;<br/>/**********found**********/<br/>p=h-&gt;next;<br/>}<br/>returnmax;<br/>}<br/>outresult(ints,FILE*pf)<br/>{<br/>fprintf(pf,&quot;\nThemaxinlink:%d\n&quot;,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-&gt;data=9999;<br/>for(i=1;i&lt;=n;i++)<br/>{<br/>s=(NODE*)malloc(sizeof(NODE));<br/>s-&gt;data=rand()%m;<br/>s-&gt;next=p-&gt;next;<br/>p-&gt;next=s;<br/>p=p-&gt;next;<br/>}<br/>p-&gt;next=NULL;<br/>returnh;<br/>}<br/><br/>outlink(NODE*h,FILE*pf)<br/>{<br/>NODE*p;<br/>p=h-&gt;next;<br/>fprintf(pf,&quot;\nTHELIST:\n\nHEAD&quot;);<br/>while(p)<br/>{<br/>fprintf(pf,&quot;-&gt;%d&quot;,p-&gt;data);<br/>p=p-&gt;next;<br/>}<br/>fprintf(pf,&quot;\n&quot;);<br/>}<br/>main()<br/>{<br/>NODE*head;intm;<br/>head=creatlink(12,100);<br/>outlink(head,stdout);<br/>m=fun(head);<br/>printf(&quot;\nTHERESULT:\n&quot;);<br/>outresult(m,stdout);<br/>}<br/>/**********-code.c**********/

  • 1