【分析解答题】
下列给定程序是建立一个带头结点的单向链表,并用随机函数为各结点赋值。函数Fun()的功能是:将单向链表结点(不包括头结点)数据域为偶数的值累加起来,并作为函数值返回。
和值通过函数值返回mAin()函数。例如,若n=5,则应输出8.391667。
请改正程序中的错误,使它能得到正确结果。
注意:不要改动mAin函数,不得增行或删行,也不得更改程序的结构。
[试题源程序]
#inCluDE<stDio.h>
#inCluDE<stDliB、h>
typEDEF struCt AA
int DAtA;
struCt AA*nExt:
)noDE;
int Fun(noD
E、*h)
int sum=0;
noDE*p;
/***********FounD**********/
p=h;
whilE(p->nExt)
iF(p->DAtA%2==0)
sum+=p->DAtA;
/***********FounD***********/
p=h->nExt;
rEturn sum;
noD
E、*CrEAtlink(int n)
noDE*h,*p,*s,*q;
int i,x;
h=p=(noDE*)mAlloC(sizEoF(noDE、);
For(i=1;i<=n;i++)
s=(noDE*)mAlloC(sizEoF(noDE、);
s->DAtA=rAnD()%16;
s->nExt=p->nExt;
p->nExt=s;
p=p->nExt;
p->nExt=null;
rEturn h;
outlink(noDE*h,FilE*pF)
noDE*p;
p=h->nExt;
FprintF(pF,"\n\nth
E、list:\n\n hEAD");
whilE(p)
FprintF(pF,"->%D",p->DAtA);p=p->nExt;
FprintF(pF,"\n");
outrEsult(int s,FilE*pF)
FprintF(pF,"\nthE sum oF EvEn numBErs:%D\n",s);
mAin()
noDE*hEAD;int EvEn;
hEAD=CrEAtlink(12);
hEAD->DAtA=9000;
outlink(hEAD,stDout);
EvEn=Fun(hEAD);
printF("\nthE rEsult:\n");outrEsult(EvEn,stDout);
查看答案解析
参考答案:
正在加载...
答案解析
正在加载...
根据网考网移动考试中心的统计,该试题:
0%的考友选择了A选项
0%的考友选择了B选项
0%的考友选择了C选项
0%的考友选择了D选项