首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
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
2018-09-27
59
问题
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 struct 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);
36 printf(’’ave=%6.3f\n’’,ave);
38 NONO();
39 }
40 void NONO()
41 {/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/
42 FILE *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=p0>next;/*到下一个结点位置*/ 7 n++; /*人数加1*/ 8 } 9 av/=n; /*计算成绩平均值*/ 10 return av; /*返回成绩平均值*/
解析
(1)首先定义存放平均值的变量,并对其初始化。(2)在循环中,依次取链表中存放的成绩,并对其求和。(3)最后计算平均值,并返回值。
转载请注明原文地址:https://kaotiyun.com/show/pAxp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
在树形结构中,树根结点没有【】。
程序中若有如下说明和定义语句Charfun(char*);main(){char*s="one",a[5]={0}.(*f1)()=fun,ch;…}以下选项中对函数fun
下列程序的运行结果是()。#include<stdio.h>main(){stmctdate{intyear,month,day;}today;primf("%d\n",sizeof(struct
在数据库理论中,数据库总体逻辑结构的改变,如修改数据模式、增加新的数据类型、改变数据间联系等,不需要相应修改应用程序,称为______。
以下程序的输出结果是_______。main(){inta[4][4]={{1,3,5},{2,4,6},{3,5,7});Print("%d%d%d%d\n",a[0][3],a[l][2],a[2][1],
以下关于C语言数据类型的叙述中正确的是()。
若有下列定义(设int类型变量占2个字节):floatx=123.4567;则下列语句:printf("x=%5.2f",x);输出的结果是()。
已知数据表A中每个元素距其最终位置不远,为节省时间,应采用的算法是
本程序用冒泡法对数组a[]的元素从大到小排序,请在程序空白处填空。voidbubble(inta[],intn){intid,max,temp;max=n-1;do{j=0;f
对于长度为n的顺序存储的线性表,当随机插入和删除一个元素时,需平均移动元素的个数为【】。
随机试题
某企业共生产2种洗衣机,4种电冰箱和5种空调,则该企业产品组合的长度为()。
易观察紫绀的部位是【】
《素问.五藏生成篇》说:“多食辛”,则
A.补骨脂、菟丝子、肉苁蓉B.黄芩、黄连、薏苡仁C.人参、冬虫夏草D.茯苓、白扁豆、稻芽E.党参、当归、黄精面色苍白、神疲乏力、夜寐不安、舌质淡的儿童宜用
侧重于揭示企业财务结构的稳健程度和分析企业债务偿付安全性的物质保障程度的指标分别为( )。
根据《建设工程施工合同(示范文本)》GF一2017─0201,保修期的开始计算时间是指()。
对加工贸易的进口料件只能保税而不能减、免税。()
(2016国考)自从1958年第一个永久起搏器被植入人体后,可植入医疗设备的制造商就在不断研究为其产品提供电能的各种方法。不可充电的锂电池目前较为普遍,在心脏病和神经源性疾病的移植设备中,不可充电的锂电池一般能够使用7年到10年,已经属于比较“长寿”的了,
简述腺样囊性癌的组织学特点。
设u=f(χ,y,χyz),函数z=z(χ,y)由eχyz=∫χyzh(χy+z-t)dt确定,其中f连续可偏导,h连续,求.
最新回复
(
0
)