首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列给定程序是建立一个带头结点的单向链表,并用随机函数为各结点赋值。函数fun的功能是将单向链表结点(不包括头结点)数据域为偶数的值累加起来,并且作为函数值返回。 请改正函数fun中的错误,使它能得出正确的结果。 注意:部分源程序在文件MO
下列给定程序是建立一个带头结点的单向链表,并用随机函数为各结点赋值。函数fun的功能是将单向链表结点(不包括头结点)数据域为偶数的值累加起来,并且作为函数值返回。 请改正函数fun中的错误,使它能得出正确的结果。 注意:部分源程序在文件MO
admin
2017-09-23
51
问题
下列给定程序是建立一个带头结点的单向链表,并用随机函数为各结点赋值。函数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全国计算机二级
相关试题推荐
执行程序时的输入为123456789,则程序的运行结果为()。#include"stdio.h"main(){inta,b;scanf("%2d%*2d%1d",&a,&B);printf("%d\n",
定义inta=5,b=20;若执行语句printf("%d\n",++a*--b/5%13);后,输出的结果为()。
已知:intc[3][4];,则对数组元素引用正确的是()。
以下程序段的输出结果是()。#include<stdio.h>main(){charp[][4]={"ABC","DEF","GHI"};inti;for(i=0;i<3;i++)puts(p[i
下面程序运行后的输出结果是()。#include<stdio.h>main(){inta[5]={1,0,4,2,0},b[5]={1,2,3,4,5},i,s=0;for(i=0;i<5;i++)s=s+b[a[
以下选项中非法的字符常量是()。
下面程序的运行结果是()。#definePOW(r)r*rmain(){intx=2,y=3,t;t=POW(x+y);printf("%d\n",t);}
有以下程序:#include<string.h>inta=4;intf(intn){intt=0;staticinta=5;if(n%2){inta=6;t++=a++;}else{inta
以下函数定义的类型符是()。fff(doublex){printf("%f",x+x);}
若有以下定义(设int类型变量占2个字节)inti=8,j=9:则以下语句:printf("i=%%d,j=%%%d\n",i,j);输出的结果是()。
随机试题
在碱性水中,锌的含量高时,将呈乳浊状,使水浊度增加。
睾丸切除的手术要点。
酒炙当归的作用是
阿托品可
具有降气化痰作用具有养阴润肺,化痰止咳作用
利息备付率表示使用项目利润偿付利息的保障倍数。对于一般房地产投资项目,该指标值应该大于()。
证券市场线方程表明,在市场均衡时()
每个企业都有自己的核心价值观,它是企业一切理念、制度和技术的价值基础。企业在重视财务、营销、技术的同时,更应重视员工,员工是企业的主人,是企业的根本,只有建立起以“重视员工”为核心价值观的企业文化,企业才能凝聚员工、创造个性,为自身的发展提供目标、方向和动
文件WORD1.DOC的内容如下:【文档开始】我国实行渔业污染调查鉴定资格制度农业部今天向获得《渔业污染事故调查鉴定资格证书》的单位和《渔业污染事故调查鉴定上岗证》的个人颁发了证书。这标志着我国渔业污染事故的鉴定调查工作走上了科学和规范化的轨
Internationalinvestorsseemincapableofendingtheirloveaffairwiththedollar.America’seconomyhasslowedsharplythisye
最新回复
(
0
)