首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC++2010打开考生文件夹下modi1中的解决方案。此解决方案的项目中包含一个源程序文件modi1.c。此程序建立了一个带头节点的单向链表,并用随机函数为各节点赋值。函数fun的功能是将单向链表节点(不包括头节点)数据域为偶数的值累加起来,并且作为
使用VC++2010打开考生文件夹下modi1中的解决方案。此解决方案的项目中包含一个源程序文件modi1.c。此程序建立了一个带头节点的单向链表,并用随机函数为各节点赋值。函数fun的功能是将单向链表节点(不包括头节点)数据域为偶数的值累加起来,并且作为
admin
2018-10-21
30
问题
使用VC++2010打开考生文件夹下modi1中的解决方案。此解决方案的项目中包含一个源程序文件modi1.c。此程序建立了一个带头节点的单向链表,并用随机函数为各节点赋值。函数fun的功能是将单向链表节点(不包括头节点)数据域为偶数的值累加起来,并且作为函数值返回。
请改正函数fun中的错误,使它能得出正确的结果。
注意:部分源程序在文件MODI1.C中,不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
typedef struetaa
{int data;
Struct aa*next;
}NODE;
int fun(NODE*h)
{int sum=0;
NODE*p;
p=h﹣>next;
/*********found*********/
while(p﹣>next)
{if(p﹣>data%2==0)
sum+=p﹣>data;
/*********found*********/
p=h﹣>next;
}
return sum;
}
NODE*creatlink(int n)
{
NODE*h,*p,*s;
int i;
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)
{NODE*p;
p=h﹣>next;
printf("\n\n The LIST:\n\nHEAD");
while(p)
{printf("﹣>%d",p﹣>data);
p=p﹣>next;}
printf("\n");
}
void main()
{NODE*head;int sum;
system("CLS");
head=creatlink(10);
outlink(head);
sum=fun(head);
printf("\nSUM=%d",sum);
}
选项
答案
(1)while(p!=NULL) (2)p=p﹣>next;
解析
(1)判断当前指针p指向的节点是否存在,若存在则对该节点数据域进行判断操作。
(2)判断结束后指针指向下一个节点。
转载请注明原文地址:https://kaotiyun.com/show/Icxp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
已经定义ch为字符型变量,以下赋值语句中错误的是______。
以下程序运行后的输出结果是【】。main(){intX==1,y=0,a=0,b=0;switch(x){case1:switch(y){case0:a++;break;case1
以下程序的输出结果是【】。main(){char*p[]={"BOOL","OPK","H","SP"};inti;for(i=3,i>=0;i--,i--)printf("%c",*p[i]);pri
有以下程序main(){union{unsignedintn;unsignedcharc;}ul;u1.C=’A’;pfintf("%c\n",u1.n);
有如下程序:#include<stdio.h>main(){FILE*fp1;fp1=fopen("f1.txt","w");fprintf(fp1,"abc");fclose(fp1);}
s1和s2已正确定义,并分别指向两个字符串。若要求:当s1所指串大于s2所指串时,执行语句S;,则以下选项正确的是______。
有以下程序:intfun(intn){if(n==1)return1;elsereturn(n+fun(n-1));}main(){intX;scanf("%d",&x);x=fun(x);printf("%
数据的存储结构是指()。
填空补充以下程序。 #define【】30 {【】; total=numPRICE; printf("total=%d,num=%d\n",【】); }
随机试题
个体内部冲突可分为()
以下哪一种技术属于频谱多普勒技术
尿蛋白定性反应结果是颗粒状混浊表示尿蛋白定性及尿蛋白质含量(g/L)正确的是
A.腺病毒性肺炎B.金黄色葡萄球菌肺炎C.呼吸道合胞病毒性肺炎D.肺炎支原体肺炎E.肺炎球菌肺炎弛张热,易合并脓胸、脓气胸的是
下列引起上消化道出血的上消化道疾病中,最为常见的是
下列药物中成瘾性最小的是
A.足少阳胆经B.足少阴肾经C.足厥阴肝经D.足阳明胃经E.足太阴脾经行于下肢外侧中线的经脉是()
某上市公司本年度的净利润为20000元,每股支付股利2元。预计该公司未来三年进入增长期,净收益第1年增长14%,第2年增长14%,第3年增长8%,第4年及以后将保持第3年净收益水平。该公司一直采用固定股利支付率的股利政策,并打算今后继续实行该政策。该公司没
可以产生30~50(含30和50)之间的随机整数的表达式是
ReadingAccordingtothecontroversialsunspottheory,greatstormsonthesurfaceoftheSunhurlstreamsofsolarparticlesin
最新回复
(
0
)