首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
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
58
问题
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://www.kaotiyun.com/show/pAxp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
相对于数据库系统,文件系统的主要缺陷有数据关联差、数据不一致性和
有以下程序:#include<string.h>structSTU{charname[10];intnum;};voidf(char*name,intnum){structSTU
下面程序中有错误的行是(每行程序前面的数字表示行号)1main()2{3inta[3]={1};4inti;5scanf("%d",&a);6for(i-1;i
下面关于对象概念的描述中,错误的是
以下程序的输出结果是【】。 #define MCRA(m) 2*m #define MCRB(n,m) 2*MCRA(n)+m main( ) { inti=2,j=3; printf("%d\n",MCRB(j,MCRA(i)
若输入3、4、5,程序的输出结果为【】。#include"math.h"main(){floata,b,c,s,area;scanf("%f,%f,%f",&a,&b,&c)
有以下程序#include.<string.h>main(){char*p="abcde\ofghjik\0";printf("%d\n",strlen(p));}程序运行后的输出结果是
以下四个选项,不能看作一条语句的是()。
下列有关数据库的描述,正确的是
若各选项中所用变量已正确定义,fun()函数中通过return语句返回一个函数值,下列选项中错误的程序是()。
随机试题
a.thecompanythatcanmakeuseofanTVCtogetpaidforitsexportb.righttothepossessionofapositionorpropertyc.th
患者,男,43岁。胸背痛1.5年,双下肢无力1个月,以右侧著。行脊髓腔碘油造影显示胸10水平造影剂在肿瘤下端梗阻,梗阻面造影剂呈“杯口状”充盈缺损,肿瘤影偏右侧,脊髓影被肿瘤推向左侧。此处肿瘤最可能是
【背景资料】某省电力公司要对一条50km长、500kV电压的输电线路工程进行招标。根据相关规定,该省电力公司决定采用公开招标的方式确定承包人,并依法委托招标代理公司进行招标。该省电力公司在投标人资格预审办法中规定,合格投标人应满足的条件是:(1)取得营业
社会监督是一种()。
A.根管钻B.根管锉C.螺旋充填器D.光滑髓针E.拔髓针根管充填的治疗器械是()。
Yourfirstcontactwithanemployerwillbeeithertoapplyforaknownjobopeningortofindoutifanyjobsare______.
已知矩阵A=和矩阵B=相似,试确定参数a,b.
先序序列和中序序列相同的二叉树为空树或(40)。
在考生文件夹下打开文档Word.docx,按照要求完成下列操作并以该文件各Word.docx保存文档。将正文第一段(90年代中期以来……片式二极管。)移至第二段(我国……新的增长点。)之后;设置正文各段落(我国……片式化率达80%。)右缩进2字符。设置
Howmanycarsaretowedfromthestreetseachyear?
最新回复
(
0
)