试题查看

首页 > 计算机二级考试 > 试题查看
【分析解答题】

下列给定程序是建立一个带头结点的单向链表,并用随机函数为各结点赋值。函数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选项

你可能感兴趣的试题

下面程序的运行结果是()。#includecsmain()inti;for(i=使用视图之前,应首先()。A.新建一个数据库B.新建一个数据库表C.打开相关的数以下选项中不合法的标识符是()。A.printB.FORC.&aD._00下面的函数调用语句中func函数的实参个数是()。funcf2(v1,v2),(已有定义:inti,a[10],*p;,则合法的赋值语句是()。A.p=100;下列程序的输出结果是()。voidf(int*x,int*y)intt;t=*x