首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
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
55
问题
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全国计算机二级
相关试题推荐
有以下程序structS{inta,b;}data[2]={10,100,20,200};main(){structSp=data[1];printf("%d\n",++(p.a));}程序运行后的输出结果是
有以下程序#include#defineN4voidfun(inta[][N],intb[]){inti;for(i=0;i<N;i++)b[i]=a[i][i]-a[i][N-1-i];}voidmain()
由以下while构成的循环,循环体执行的次数是intk=0;while(k=1)k++;()。
设有如下的说明和定义struct{inta;char*s;)x,*p=&x;x.a=4;x.S=’’hello’’;则以下叙述中正确的是
软件生命周期可分为定义阶段、开发阶段和维护阶段,下面不属于开发阶段任务的是
下列关于二叉树的叙述中,正确的是
下列叙述中正确的是()。
以下叙述中正确的是()。
若要定义一个具有5个元素的整型数组,以下错误的定义语句是
下列选项中,能够满足“只要字符串s1等于字符串s2,则执行ST"要求的是()。
随机试题
在我国,营销合同纠纷的处理方式有_______。
采用邻联甲苯胺比色法测定余氯时,可用离心法除水中含有的悬浮物质。
婴儿开始进行户外的活动时间是每日________,每次________。
税收实质课税原则的意义是()。(2015年)
根据下列资料,完成下列题。2010—2015年,我国跨境电商交易额增长迅猛,预计2017年该交易额将达到全国进出口总额的23.1%。截至2015年4月,我国跨境电商速卖通成交国家排前五名的依次为俄罗斯、西班牙、美国、以色列和乌克兰;截
张某违反交通法规,交警李某预给予其行政处罚,并告知张某有陈述和申辩的权利,交警李某要给张某行政处罚时,张某说,“真晦气,一出门就被罚”。李某该作()处理。
广告花费最高的是()1999年中成药的广告花费为()元
三位股评专家正在对三家上市公司明天的股价走势进行预测。甲说:“公司一的股价会有一些上升,但不能期望过高。”乙说:“公司二的股价可能下跌,除非公司一的股价上升超过5%。”丙说:“如果公司二的股价上升,公司三的股价也会上升。”三位股评专家果然厉害,一天后的事实
YoumayspendtoomuchtimeinabookshopbecauseItcanbelearnedfromthetextthatanassistantshouldofferyouhelp
IPv4地址和IPv6地址的位数分别为()。
最新回复
(
0
)