首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
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
2021-02-25
54
问题
N名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。请编写函数fun,它的功能是:求出平均分,由函数值返回。
例如,若学生的成绩是:85,76,69,85,91,72,64,87,则平均分应当是:78.625。
注意:部分源程序在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
1 #include<stdio.h>
2 #include<stdlib.h>
3 #define N 8
4 struct slist
5 {double s;
6 struct slist *next;
7 };
8 typedef struer slist STREC;
9 double fun(STREC *h)
10 {
11
12 }
13 STREC * creat(double * s)
14 {STREC *h,*p,*q;int i=0;
15 h=p=(STREC *)malloc(sizeof(STREC));p->s=0;
16 while(i<N)
17 {q=(STREC *) malloc(sizeof(STREC));
18 q->s=s
;i++;p->next=q;p=q;
19 }
20 p->next=0;
21 return h;
22 }
23 outlist(STREC *h)
24 {STREC *p;
25 p=h->next;printf(’’head’’);
26 do
27 {printf(’’->%4.1f’’,p->s);p=p-> next;)
28 while(p!=0);
29 printf(’’\n\n’’);
30 }
31 main()
32 {double s[N]={85,76,69,85,91,72,64,87},ave;
33 void NONO();
34 STREC *h;
35 h=creat(s);outlist(h);
36 ave=fun(h);
37 printf(’’ave=%6.3f\n’’,ave);
38 NONO();
39 }
40 void NONO()
41 {/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
42 FTLE *in,*out;
43 int i,j;double s[N],ave;
44 STREC *h;
45 in=fopen(’’in.dat’’,’’r’’);
46 out=fopen(’’out.dat’’,’’w’’);
47 for(i=0;i<10;i++) {
48 for(j=0 ; j<N;j++)fscanf(in,’’%1f,’’,&s[j]);
49 h=creat(s);
50 ave=fun(h);
51 fprintf(out,’’%6.31f\n’’,ave);
52 }
53 fclose(in);
54 fclose(out);}
选项
答案
1 STREC *p=h->next; /*由于头结点中没有存放数据*/ 2 double av=0.0; /*对计算成绩平均值的变量进行初始化*/ 3 int n=0; 4 while(p!=NULL) {/*判断链表是否结束*/ 5 av=av+p->s; /*对成绩进行累加*/ 6 p=p->next; /*到下一个结点位置*/ 7 n++; /*人数加1 */ 8 } 9 av/=n; /*计算成绩平均值*/ 10 return av; /*返回成绩平均值*/
解析
(1)首先定义存放平均值的变量,并对其初始化。(2)在循环中,依次取链表中存放的成绩,并对其求和。(3)最后计算平均值,并返回值。
转载请注明原文地址:https://www.kaotiyun.com/show/OItp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
以下叙述中正确的是()。
设栈的顺序存储空间为S(1:m),初始状态为top=0。现经过一系列正常的入栈与退栈操作后,top=m+1,则栈中的元素个数为()。
下面不属于软件设计阶段任务的是
以下叙述中正确的是
若有以下定义和语句()。intu=010,v=0x10,w=10; printf("%d,%d,%d\n",u,v,w)
若有定义typedefint*T;Ta[10];则a的定义与下面哪个语句等价
以下叙述中正确的是
若要求从键盘读入含有空格字符的字符串,应使用函数
在面向对象方法中,不属于"对象"基本特点的是()。
随机试题
下列关于行政处罚的说法错误的是()
处方中,医疗机构或者医师、药师均不得使用的药品名称是
下列停工时间在定额中应给予合理考虑的是()。
下列选项中,不属于气硬性胶凝材料的是( )。
通常情况下,Excel的默认单元格格式为“常规”格式,只能显示11位数字。()
如接待计划中有地陪不熟悉的游览景点,地陪在接团前应了解该景点()。
如图所示,是某家庭电路的一部分,下列说法正确的是()。
假设CPU执行某段程序时,950次从Cache得到数据,50次从主存得到数据,已知Cache存取周期为50ns,主存存取周期为200ns(设每次访问时,Cache访问与主存访问并发进行,如Cache命中则中断主存的访问)。求:平均访问时间。
关于法律制定的民主性原则,下列表述正确的是()
InJuly,almostunnoticedbythenationalpress,adeadlybirdvirusarrivedonapheasantfarminSurrey.ExpertsfromtheDepa
最新回复
(
0
)