首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列给定程序是建立一个带头结点的单向链表,并用随机函数为各结点赋值。函数fun的功能是将单向链表结点(不包括头结点)数据域为偶数的值累加起来,并且作为函数值返回。 请改正函数fun中的错误,使它能得出正确的结果。 注意:部分源程序在文件MO
下列给定程序是建立一个带头结点的单向链表,并用随机函数为各结点赋值。函数fun的功能是将单向链表结点(不包括头结点)数据域为偶数的值累加起来,并且作为函数值返回。 请改正函数fun中的错误,使它能得出正确的结果。 注意:部分源程序在文件MO
admin
2017-09-23
36
问题
下列给定程序是建立一个带头结点的单向链表,并用随机函数为各结点赋值。函数fun的功能是将单向链表结点(不包括头结点)数据域为偶数的值累加起来,并且作为函数值返回。
请改正函数fun中的错误,使它能得出正确的结果。
注意:部分源程序在文件MODI1.C中,不要改动maln函数,不得增行或删行,也不得更改程序的结构!
试题程序:
#include < stdio .h >
#include < conio .h >
#include < stcilib.h >
typedef struct aa
{ 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\n
HEAD") ;
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/Gsxp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序:#include<stdio.h>intfun(int*k){intb=0;b=*k+b:return(B);}main(){inta[10]={1,2,3,4,5,6,7,8},i
以下程序段的输出结果是()。#include<stdio.h>main(){charp[][4]={"ABC","DEF","GHI"};inti;for(i=0;i<3;i++)puts(p[i
一名学生只能住一间宿舍,一间宿舍可住多名学生,则实体“宿舍”与实体“学生”的联系属于()的联系。
以下程序段的运行结果是()。#include<stdio.h>main(){intx=2,y=1:switch(x){case1:switch(y){case0:printf("x=2,y=1\
若有以下定义,则对a数组元素的正确引用是()。inta[5],*p=a;
设有输入语句scanf("a=%d,b=%d,c=%d",&a,&b,&C),为使变量a的值为2,b的值为4,c的值为8,则从键盘输入数据的正确形式是()。
当把4个表达式用做if语句的控制表达式时,有一个选项与其他3个选项含义不同,这个选项是()。
下面程序的功能是:计算1~20之间的奇数之和与偶数之和,请填空使程序功能完整。#include<stdio.h>main(){inta=0,b=0,c=0,i;for(i=0;i<=20;i+=2){a+=
下列函数从字符数组s[]中删除和c一样的字符,请在下面横线处填空。voiddelete(s,C)chars[],c;{inti,j;for(i=j=0;();i++)if(s[i]!=’c’)s[j++]=
随机试题
霍尔认为,“一两遗传胜过一吨教育”。这种观点属于()。
碳素工具钢Y45A中,其钢的含碳量为4.5%。
以下消化性溃疡治疗药物中,可消除幽门螺杆菌的药物是
陈先生,因触电致心跳、呼吸骤停,胸外心脏按压操作哪项不正确
基坑开挖前应做出系统的开挖监控方案,监控方案应包括()。
【背景资料】某安装公司中标一栋24层住宅楼,与业主签订了该栋楼的机电安装施工承包合同。项目实施过程中发生如下事件:事件1:公司委派另一处于后期收尾阶段项目的项目经理兼任该项目的项目经理。由于项目经理较忙,责成项目总工程师组织编制该项目的
既有法人融资项目的新增资本金可通过()等渠道和方式筹措。
我国公民张飞于2015年5月15日买入某上市公司股票8000股,2016年4月3日又买入2000股,2016年6月6日又买入5000股,共持有该公司股票15000股,2016年6月11日卖出其中的13000股。张飞卖出的股票当中,其股息红利所得应全额计入应
阅读下列材料并回答问题。材料一:在中国古代,监察制度是一种特殊政治制度。监察的对象是整个官僚体系,即政府内部官僚或行政主体。完整的监察权包括“纠察”和“言谏”两部分,既要厉行对群臣的监察,维护中央的权威,又要重视谏言机制,以广耳目。监察
在关系模型中,每个关系模式中的关键字()。
最新回复
(
0
)