首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列给定程序是建立一个带头结点的单向链表,并用随机函数为各结点赋值。函数fun的功能是将单向链表结点(不包括头结点)数据域为偶数的值累加起来,并且作为函数值返回。 请改正函数fun中的错误,使它能得出正确的结果。 注意:部分源程序在文件MO
下列给定程序是建立一个带头结点的单向链表,并用随机函数为各结点赋值。函数fun的功能是将单向链表结点(不包括头结点)数据域为偶数的值累加起来,并且作为函数值返回。 请改正函数fun中的错误,使它能得出正确的结果。 注意:部分源程序在文件MO
admin
2021-04-28
25
问题
下列给定程序是建立一个带头结点的单向链表,并用随机函数为各结点赋值。函数fun的功能是将单向链表结点(不包括头结点)数据域为偶数的值累加起来,并且作为函数值返回。
请改正函数fun中的错误,使它能得出正确的结果。
注意:部分源程序在文件MODI1.C中,不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
1 #include<stdio.h>
2 #include<conio.h>
3 #include<stdlib.h>
4 typedef struct aa
5 {int data;
6 struct aa*next;
7 }NODE;
8 int fun(NODE * h)
9 {int sum=0;
10 NODE*p;
11 p=h->next;
12 /*********found*********/
13 while(p->next)
14 {if(p->data%2==0)
15 sum+=p=>data;
16 /*********found*********/
17 p=h->next;
18 }
19 return sum;
20 }
21 NODE* creatlink(int n)
22 {
23 NODE*h,*p,*s;
24 int i;
25 h=p=(NODE*)malloc(sizeof (NODE));
26 for(i=:1;i
27 {
28 s=(NODE*)malloc(sizeof (NODE));
29 s->data=rand()%16;
30 s->next=p->next;
31 p->next=s;
32 p=p->next;
33 }
34 p->next=NULL;
35 return h;
36 }
37 outlink(NODE*h)
38 {NODE*p;
39 p=h->next;
40 printf(’’\n\n The LIST:\n\n HEADH ’’);
41 while(p)
42 {printf(’’->%d’’,p->data);
43 p=p->next ;)
44 printff(’’\n’’);
45 }
46 void main()
47 { NODE * head;int sum;
48 system (’’CLS’’);
49 head=creatlink(10);
50 outlink(head);
51 sum=fun(head);
52 printf(’’\nSUM=%d’’,sum);
53 }
选项
答案
(1)while(p!=NULL) (2)p=p->next;
解析
(1)判断当前指针p指向的结点是否存在,若存在则对该结点数据域进行判断操作。
(2)判断结束后指针指向下一个结点。
转载请注明原文地址:https://jikaoti.com/ti/Qxz0FFFM
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序段intj;floaty;charname[50];scanf("%2d%f%s",&j,&y,name);当执行上述程序段,从键盘上输入555667777abc后,y的值为
若有以下定义:structtt{charname[10];charsex;}aa={″aaaa″,′F′},*P=&aa;则错误的语句是()。
有下列程序:#includemain(){FILE*fp;inta[10]={1,2,3,0,0),i;fp=fopen("d2.dat","wb");fwtite(a,sizeof(int),5,f1)
有以下程序#include#includevoidmain(){charstr[][20]={"One*World","One*Dream!"},*p=str[1];printf("%d,",strlen(p));printf
下面属于黑盒测试方法的是
己知字符’A’的ASCII代码值是65,字符变量c1的值是’A’,c2的值是’D’。则执行语句printff"%d,%d",c1,c2-2);的输出结果是
设有定义:intx=0,*p;紧接着的赋值语句正确的是
有如下嵌套的if语句if(a
以下是if语句的基本形式:if(表达式)语句其中“表达式”
设有定义:chars[81];inti=0;,以下不能将一行(不超过80个字符)带有空格的字符串正确读入的语句或语句组是()。
随机试题
1940年八路军在华北发动的大规模破袭进攻战是平型关战役。()
下列有关集体劳动合同的表述,正确的有()
A、 B、 C、 D、 A
A.桂枝B.半夏C.陈皮D.人参E.白术实脾散的组成药物中含有
"入下齿中,还出挟口,交人中,左之右,右之左,上挟鼻"的经脉是
如果F=188kN/m,则基底净反力的最大值与下列______值接近。如果基底设混凝土垫层,取保护层50mm,按《混凝土结构设计规范》,取βh=1.0,则基础在I-I截面的抗剪承载力与下列______项值接近。
在常见模板中,具有模板整体性好、抗震性强、无拼缝、模板重量大等特点的是( )。
基金销售过程中由投资者自己承担的费用包括()。
下列观点中不属于优势视角的是()。
秦相李斯的名篇是()。
最新回复
(
0
)