首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
N名学生的成绩已在主函数中放入一个带头节点的链表结构中。h指向链表的头节点。请编写函数fun,其功能是:求出平均分,并由函数值返回。 例如,若学生的成绩是:85 76 69 85 91 72 64 87,则平均分应当是:78.625。 注意:部分源程序在文
N名学生的成绩已在主函数中放入一个带头节点的链表结构中。h指向链表的头节点。请编写函数fun,其功能是:求出平均分,并由函数值返回。 例如,若学生的成绩是:85 76 69 85 91 72 64 87,则平均分应当是:78.625。 注意:部分源程序在文
admin
2015-07-30
65
问题
N名学生的成绩已在主函数中放入一个带头节点的链表结构中。h指向链表的头节点。请编写函数fun,其功能是:求出平均分,并由函数值返回。
例如,若学生的成绩是:85 76 69 85 91 72 64 87,则平均分应当是:78.625。
注意:部分源程序在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include
#include
#define N 8
struct slist
{double s;
struct slist *next;
};
typedef struct slist STREC;
double fun(STREC * h)
{
}
STREC * creat(double*s)
{STREC*h,*p,*q;int i=0;
h=p=(STREC *)malloc(sized(STREC));p->s=0;
while(i<N)
{q=(STREC*)malloc(sized(STREC));
q->s=s
;i++;p->next=q;p=q;
}
p->next=0:
return h;
}
outlist(STREC * h)
{STREC*p;
p=h->next;printf("head");
do
{printf("->%4.1f",P->s);p=p->next;}
whilepP!=0);
printf("\n\n");
}
main()
{double s[N]={85,76,69,85,91,72,64,87},ave;
void NONO();
STREC * h;
h=creat(s);outlist(h);
ave=fun(h);
printf("ave=%6.3f\n",ave);
NONO();
}
void NONO()
{/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/
FILE * in,* out;
int i,j;double s[N],ave;
STREC*h:
in=fopen("in.dat","t");
out=fopen("out.dat","w");
for(i=0;i<10;i++){
for(j=0;j<N;J++)fscanf(in,"%1f,",&s[j]);
h=ereat(s);
ave=fun(h);
fprintf(out,"%6.31f\n",ave);
}
fclose(in);
fclose(out);
}
选项
答案
"double fun(STREC*h){ double ave=0.0; STREC*p=h->next; while(p!=NULL){ave=ave+p->s; p=p->next; } retum ave/N; }
解析
本题考查:链表的操作,对链表的主要操作有以下几种:建立链表、结构的查找与输出、插入一个结点、删除一个结点。
题目要求求链表中数据域的平均值,应首先使用循环语句遍历链表,求各结点数据域中数值的和,再对和求平均分。遍历链表时应定义一个指向结点的指针p,因为“头结点”中没有数值,所以程序中让p直接指向“头结点”的下一个结点,使用语句STREC*p=h->next。
转载请注明原文地址:https://kaotiyun.com/show/ssDp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下面程序的输出是【】。main(){intarr[10],i,k=0;for(i=0;i<10;i++)arr[i]=i;for(i=1;i<4;i++)k+=arr[i]+i;
已知小写字母a的ASCII码为97,大写字母A的ASCII码为65,以下程序的结果是______。main(){unsignedinta=32,b=66;printf("%c\n",a|B);}
以下程序段的输出结果是______。main(){chars1[10],s2[10],s3[10];scanf("%s",s1);gets(s2);gets(s3);puts(s1);puts(s2);puts(s3);}
以下程序中,函数SumColumMin的功能是:求出M行N列二维数组每列元素中的最小值,并计算它们的和值。和值通过形参传回主函数输出。请填空。#defineM2#defineN4voidSumCol
在深度为5的满二叉树中,叶子结点的个数为_______。
在数据的存储结构中,不仅需要存储各数据元素的信息,还要存放各元素之间______的信息。
常用的软件结构设计工具是结构图(SC),也称程序结构图。其中,用矩形表示______,用带空心圆的箭头表示传递的是数据。
下列4个关于C语言的结论中错误的是()。
下列数据结构中能应用二分查找的是()。
树是结点的集合,它的根结点的数目是()。
随机试题
1968年,沃尔多出面组织了公共行政学青年学者会议,共同讲座学科的未来发展方向,这次会议导致了()
A.按年龄别体重算,体重超过同年龄、同性别儿童体重均值的10%B.按年龄别体重算,体重超过同年龄、同性别儿童体重均值的20%C.按年龄别体重算,体重超过同年龄、同性别儿童体重均值的30%D.按年龄别体重算,体重超过同年龄、同性别儿童体重均值的40%
半夏和陈皮合用可以增强燥湿化痰的作用,这种配伍关系是()
在两个相同的长方形塑料盒子的一端用潮湿的土壤分别搭起一座相同坡度的“小山”,从盒子的另一端倒入等量的水,形成“湖泊”;不同的是在其中一个盒子内,将一块微湿的海绵压入“小山”底端的土壤里(见下图)。分别用两个喷水壶,往“小山”上洒等量的水,模拟降水。观察、比
2012年8月15日,香港保钓船抵达钓鱼岛,船员登岛后被日方拘押,但这也改变不了钓鱼岛属于中国领土的事实。中国有关钓鱼岛的最早文献出自()。
身高不等的5人站成一排照相,要求身高最高的人排在中间,按身高向两侧递减,共有多少种排法?()
通过改变主体动作以适应客观变化,是()。
有以下程序#includevoidf(int*p,int*q);main(){intm=1,n=2,*r==&m;f(r,&n);printf("%d,%d",m,n);}
Theyaregoingtohavetheserviceman______anelectricfanintheofficetomorrow.
Theelectroniccomputerischieflycharacterizedbyitsaccurateandrapidcomputation.
最新回复
(
0
)