首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
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
2013-03-29
25
问题
N名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。请编写函数fun,它的功能是:求出平均分,由函数值返回。
例如,若学生的成绩是:85,76,69,85,91,72,64,87,则平均分应当是:78.625。
注意:部分源程序在文件PROGl.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;(STRBC*)malloc(sizeof(STREC));
P一>s=0;
while(i
(q=(STREC*)malloc(sizeof(STRIgC));
q一>8=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;)
while(P!=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”,”r”);
out=fopen(”out.dat”,”w”);
for(i=0;i<10;i++){
for(j=0;j
”%lf,”,&s[j]);
h=creat(s);
ave=fun(h);
fprintf(out,”%6.31f\n”,ave);
}
fcloSe(in);
fclose(out);
}
选项
答案
STREC*p=h一>next; /*由于头结点中没 有存放数据*/ double av=0.0; /*对计算成绩平均值 的变量进行初始化*/ int n=0; while(p!=NULL){/*判断链表是否结束*/ av=av+p一>s; /*对成绩进行累加*/ p=p一>next; /*到下一个结点位置*/ n++; /*人数加1*/ } av/=n; /*计算成绩平均值*/ return av; /*返回成绩平均值*/
解析
(1)首先定义存放平均值的变量,并对其初始化。
(2)在循环中,依次取链表中存放的成绩,并对其求和。
(3)最后计算平均值,并返回值。
转载请注明原文地址:https://jikaoti.com/ti/nIn0FFFM
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
设x和y均为int型变量,且x=1,y=2,则表达式2.0+y/x的值为【】。
下列程序执行后的输出结果是()#defineMA(x)x*(x-1)main(){inta=1,b=2;printf("%d\n",MA(1+a+B));}
若输入60和13,以下程序的输出结果为()#defineSURPLUS(a,b)((a)%(b))main(){inta,b;scanf("%d,%d",&a,&b);prind("
C语言中,系统的标准输入文件是指
设有以下程序,为使之正确运行,请在下划线中填入应包含的命令行。(注:try_me()函数在a:\myfile.txt中有定义。)【】main(){printf("\n");try_me();printf
若已知a=10,b=20,则表达式!a<b的值为【】。
下面程序段的输出为#include"stdio.h"main(){printf("%d\n",12<<2);}
数据库设计包括两个方面的设计内容,它们是______。
以下程序的功能是:给r输入数据后计算半径为r的圆面积s,程序在编译时出错。 main() /* Beginning */ {int r;float s; scanf("%d",&r); s=*I*r*r; printf(
随机试题
反应测量结果中系统误差大小程度的是()。
审美体验
下面哪种损伤类型容易引起对冲性脑损伤
某估价报告中的估价对象为写字楼在建工程,采用假设开发法求取其价值时,开发完成后的价值同时采用了市场法和收益法求取;采用成本法求取其价值时,土地采用了基准地价修正法求取。该估价报告求取写字楼在建工程的价值,实质上采用了()。
学科组长匡老师从教30年,每逢他们组有新人职的老师,匡老师都会把自己的教案直接提供给他们,要求他们严格按照自己的教学设计开展教学,并坚持推门听课。匡老师的做法()。
《基础教育课程改革纲要(试行)》指出,综合实践活动课程的内容主要包括“信息技术教育”社区服务与社会实践”“劳动与技术教育”和()。
关于氢氧化钙覆盖活髓,错误的是()。
Mr.Schaeublesaysheandotherpartymembersbearsomeresponsibilitiesforthepartyfundingscandalbecause______.
GeneticallyModifiedFoods—FeedtheWorld?Ifyouwanttosparkaheateddebateatadinnerparty,bringupthetopicabout
Todaywhenweplacecandlesonabirthdaycakeandhopethatwesucceedinblowingthemoutwithonebreathsothatwecanrecei
最新回复
(
0
)