首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序MODI1.C是建立一个带头结点的单向链表,并用随机函数为各结点赋值。函数fun的功能是将单向链表结点(不包括头结点)数据域为偶数的值累加起来,并且作为函数值返回。 请改正函数fun中指定部位的错误,使它能得出正确的结果。注意:不要改动main函数
给定程序MODI1.C是建立一个带头结点的单向链表,并用随机函数为各结点赋值。函数fun的功能是将单向链表结点(不包括头结点)数据域为偶数的值累加起来,并且作为函数值返回。 请改正函数fun中指定部位的错误,使它能得出正确的结果。注意:不要改动main函数
admin
2019-09-02
74
问题
给定程序MODI1.C是建立一个带头结点的单向链表,并用随机函数为各结点赋值。函数fun的功能是将单向链表结点(不包括头结点)数据域为偶数的值累加起来,并且作为函数值返回。
请改正函数fun中指定部位的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
#include<stdio.h>
#include<stallib.h>
typedef struct aa
{int data;struer aa*next;}NODE;
int fun(NODE*h)
{ int sum=0;
NODE*p;
/**********found**********/
p=h;
while(p)
{ if(p->data%2==0)
sum+=p->data;
/**********found**********/
p=h->next;
}
return sum;
}
NODE*creatlink(int n)
{NODE*h r*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,FILE*pf)
fNODE*p;
p=h->next;
fprintf(pf,"\n\nTttE 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);}
itlain()
{NODE*head;int even;
head=creatlink(12);
head->data=9000;
outlink(head,stclout);
even=fun(head);
printf("\nThe result:\n");outEesult(even,stdout);
}
选项
答案
(1)p=h->next; (2)p=p->next;
解析
(1)该题中函数功能是单向链表结点(不包括头结点)数据域为偶数的值累加起来,并且作为函数值返回。对单向链表进行遍历,并在遍历过程查找数据域为偶数的结点,并将数据域为偶数的元素累加起来。
(2)从已给定源程序的main主函数开始入手,“head=creatlink(12);”语句生成随机数的链表,“outlink(head,stdout);”输出该链表,“even=fun(head);”语句调用函数fun求得链表中的数据域为偶数的值的累加和。
(1)根据题干中求得除了头结点之外的结点数据域中的数据值,头指针h,工作指针p指向头结点的下一个结点,所以第一个标识下的“p=h;”指向头结点应该改为指向下一个结点“p=h->next;”。
(2)工作指针p,利用p实现对链表的遍历,p表示指向链表的当前结点,所以指向下一个结点应该是“p=p->next;”。
转载请注明原文地址:https://kaotiyun.com/show/4dRp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
给定程序MODI1.C中函数fun的功能是:把主函数中输入的3个数,最大的放在a中,最小的放在c中,中间的放在b中。例如,输入的数为:551234,输出结果应当是:a=55.0,b=34.0,c=12.0。请改正程序中的错误,使
给定程序MODI1.C是建立一个带头结点的单向链表,并用随机函数为各结点数据域赋值。函数fun的作用是求出单向链表结点(不包括头结点)数据域中的最大值,并且作为函数值返回。请改正函数fun中指定部位的错误,使它能得出正确的结果。注意:不
给定程序中,函数fun的功能是:计算出形参s所指字符串中包含的单词个数,作为函数值返回。为便于统计,规定各单词之间用空格隔开。例如,形参s所指的字符串为:ThisisaClanguageprogram,函数的返回值为6。请在程
给定程序MODI1.C中函数fun的功能是:求整数x的y次方的低3位值。例如,整数5的6次方为15625,此值的低3位值为625。请改正函数fun中指定部位的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得
N名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。请编写函数fun,它的功能是:求出平均分,由函数值返回。例如,若学生的成绩是:85,76,69,85,91,72,64,87,则平均分应当是:78.625。注意
可在C程序中用作用户标识符的一组标识符是
有三个关系R、S和T如下: 则由关系R和S得到关系T的操作是
有两个关系R和S如下:由关系R通过运算得到关系S,则所使用的运算为
在学生管理的关系数据库中,存取一个学生信息的数据单位是
关于C语言标识符,以下叙述错误的是()。
随机试题
下列计划中,属于资源投入计划范围的是()。
血外渗性囊肿属于第二鳃裂囊肿属于
在护理工作中,护士与患者进行小组交谈时,患者数量最好控制在
牙槽骨修整术的适应证有()。
张某被人民法院判处有期徒刑3年。在判决确定前,张某并没有被羁押,在判决生效后,由哪个机关负责对张某的羁押以及交付执行?()
农村居民张某2019年1月经批准,在户口所在地占用耕地2500平方米,其中2000平方米用于种植中药材,500平方米用于新建住宅。该地区耕地占用税税额为每平方米30元。张某应缴纳耕地占用税()元。
_______年,美国、加拿大、英国、法国等12个国家的代表,在_______集会,签订了《_______》,建立了北大西洋公约组织。
(1)在考生文件夹下,将BOOKS表中所有书名中含有"计算机"3个字的图书复制到BOOKS_BAK表中,以下操作均在BOOKS_BAK表中完成;(2)复制后的图书价格在原价格的基础上降低5%;(3)从图书均价高于25元(含25)的出版社中,查询并显示图
负责数据库中查询操作的数据库语言是( )。
WhenLouiseBethunewasagirl,shelikedto______.Louiseopenedherarchitectoffice______.
最新回复
(
0
)