首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列给定程序是建立一个带头结点的单向链表,并用随机函数为各结点赋值。函数fun的功能是将单向链表结点(不包括头结点)数据域为偶数的值累加起来,并且作为函数值返回。 请改正函数fun中的错误,使它能得出正确的结果。 注意:部分源程序在文件MODI1.C中,不
下列给定程序是建立一个带头结点的单向链表,并用随机函数为各结点赋值。函数fun的功能是将单向链表结点(不包括头结点)数据域为偶数的值累加起来,并且作为函数值返回。 请改正函数fun中的错误,使它能得出正确的结果。 注意:部分源程序在文件MODI1.C中,不
admin
2017-02-24
61
问题
下列给定程序是建立一个带头结点的单向链表,并用随机函数为各结点赋值。函数fun的功能是将单向链表结点(不包括头结点)数据域为偶数的值累加起来,并且作为函数值返回。
请改正函数fun中的错误,使它能得出正确的结果。
注意:部分源程序在文件MODI1.C中,不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
#include<conio.h>
#include<stdlib.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*treatlink(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/agDp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下列程序的运行结果是______。#definePOW(r)(r)*®main(){intx=3,y=2,t;t=POW(x+y);printf("%d\n",t);}
下列程序的输出结果是______。longfun5(intn){longs;if((n==1)‖(n==2))s=2;elses=n+fun5(n-1);return(s);}main(){longx;x=fun5
下列程序段的运行结果是______。intx=0,y=0;while(x<15)y++,x+=++y;printf("%d,%d",y,x);
若a的值为1,则表达式!a‖++a的值是______。
定义下列结构体(联合)数组:structSt{charname[15];intage;}a[10]={"ZHAO",14,"WANG",15,"LIU",16,"ZHANG",17};执行语句prin
下列选项中,当x为大于1的奇数时,值为0的表达式是()。
若a、b、c、d都是血型变量且都已经正确赋初值,则下列不正确的赋值语句是()。
下列语句中,在字符串s1和s2相等时显示"theyareEqual"的是()。
以下程序中函数f的功能是在数组x的n个数(假定n个数互不相同)中找出最大最小数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。请填空。#include<stdio.h>voidf(intx[],intn){intp0,p1,i
有以下程序段,且变量已正确定义和赋值for(s=1.0,k=1;k<=n;k++)s=s+1.0/(k*(k+1));printf("s=%f\n\n",s);请填空,使下面程序段的功能与之完全相同S=1.0;k=1;while([8]
随机试题
在冰淇淋的理化指标中,中脂型冰淇淋的总固形物含量大于或等于()%。
梗死为液化性坏死的器官是
年轻恒牙深龋间接盖髓常用的理想的药物为
A.试产B.静脉滴注缩宫素C.阴道助产D.继续待产E.剖宫产患者女性,中骨盆平面狭窄,双顶径达坐骨棘水平或以下,宫口开全1小时,胎心好,其处理方式是
肝素的抗凝作用特点是
下列关于电梯整机验收要求的说法中,正确的有()。
为避免旅游者无意中做出越轨行为和触犯法律,导游人员要对其无意中表现出的这类行为有针对性地给予()。
坚持以人为本,要始终把()作为党和国家一切工作的出发点和落脚点。
以德为先,首要的是提高干部的党性修养,________是要解决党员干部的信仰问题,而关键之处在于通过积极有效的载体化虚为实,________。填入画横线部分最恰当的一项是:
3岁前的思维主要是()
最新回复
(
0
)