首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
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
28
问题
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://kaotiyun.com/show/OItp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
若有以下程序段charstr[4][12]={"aa","bbb","ccccc","d"},*strp[4];inti;for(i=0;i<4;i++)strp[i]=str[i];不能正确引用字符串的选项是
以下选项中能表示合法常量的是
若定义函数“int*func()”,则函数func的返回值为()。
学校的每个社团都有一名团长,且一个同学可同时担任多个社团的团长,则实体团长和实体社团间的联系是
编写函数intfun(intlim,intaa[MAX]),其功能是求出小于或等于lim的所有素数并放在aa数组中,并返回求出的素数的个数。注意:请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
软件按功能可以分为:应用软件、系统软件、支撑软件(或工具软件)。下面各项中属于应用软件的是()。
以下定义语句中正确的是()。
以下关于结构化程序设计的叙述中正确的是()。
设数据元素的集合D={1,2,3,4,5},则满足下列关系R的数据结构中为线性结构的是()。
下列选项中,能够满足“只要字符串s1等于字符串s2,则执行ST"要求的是()。
随机试题
①这将使工厂彻底告别车床、冲压机、制模机等传统工具,从而转变为一种以3D打印为基础的成本更低、研发周期更短的生产方式②英国《经济学家》杂志曾刊发题为《第三次工业革命》的文章,称3D打印标志着第三次工业革命的到来③以目前的发展情况判断,3D打印之后,必将
Ipassedthetest.I______itwithoutyourhelp.
甲先于其父死亡。甲父死亡后,甲的女儿继承了甲应继承其父的遗产份额。该继承方式是()。A.转继承B.代位继承C.遗赠D.遗嘱继承
牙釉质牙骨质界正确的是
以下哪些情形属于法院再审时,应裁定将生效判决发回作出生效判决的法院重新审理的?()
任何结果都不可能凭空出现,它们的背后都是有原因的,任何背后有原因的事物都可以被人认识,而可以被人认识的事物都必然不是毫无规律的。根据以上描述,不能得出以下哪项结论?
【F1】Manyobjectsindailyusehaveclearlybeeninfluencedbyscience,buttheirformandfunction,theirdimensionsandappeara
以下函数按每行8个输出数组中的数据:voidfun(int*w,intn){inti;for(i=0;i<n;i++){________printf("%d",w[i]
若有定义:floatx=1.5;inta=1,b=3,c=2;则正确的switch语句是()。
WarmerClimateWillBakeTropicalBugsGlobalwarmingcouldcooktropicalinsects,withunpredictableknock-oneffects,say
最新回复
(
0
)