首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
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
74
问题
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全国计算机二级
相关试题推荐
有下列二叉树,对此二叉树前序遍历的结果为()。
以下函数用来求出数组的最大元素在数组中的下标并存放在k所指的存储单元中。请填空。#include<conio.h>#include<stdio.h>intfun(int*s,intt,int*k){inti;
下面程序的功能是:计算1~10之间的奇数之和与偶数之和,请填空。#include<stdio.h>main(){inta,b,c,i;a=c=0;for(i=0;i<=10;i+=2){a
有以下程序 main() {char s[]={"aeiou"},*ps; ps=s; printf("%c\n",*ps+4); } 程序运行后输出的结果是______。
若输入000051,下列程序的运行结果为______。main(){unsignedinta;scanf("%o",&a);printf("%o\n",getbits(a));}getbits(value)unsignedint
有以下程序#include.<string.h>main(){char*p="abcde\ofghjik\0";printf("%d\n",strlen(p));}程序运行后的输出结果是
以下关于函数的叙述中正确的是______。
若有下列定义(设int类型变量占2个字节):floatx=123.4567;则下列语句:printf("x=%5.2f",x);输出的结果是()。
若有定义floatb[15],*p=b;,且数组b的首地址为200H,则p+13所指向的数组元素的地址为______。
若有下列说明和语句,则对结构体变量st中成员i的引用方式不正确的是()。Structstu{inti;intname;}st,*p;p=&st;
随机试题
2011年3月20日,上海的甲公司与北京的乙公司签订了一份买卖合同,约定:甲公司向乙公司购买1000吨化工原料,总价款为200万元;乙公司在合同签订后1个月内交货,甲公司在验货后7日内付款。双方没有明确约定交付货物的地点。合同签订后,甲公司以其办
某患者,男性,52岁。近日胁肋隐痛。悠悠不休,遇劳加重,口干咽痛,心中烦热,头晕目眩,舌红少苔,脉细弦数。胁肋隐痛,绵绵不休,劳则加重,口干咽燥。舌红少苔,脉弦细数者,治疗主方首选
用青霉素7天后出现发热、关节肿痛、淋巴结肿大、腹痛,此反应是
郑某诉刘某离婚一案,一审法院判决不准离婚。郑某不服提出上诉。二审法院审理后认为当事人双方感情确已破裂,应当判决离婚。二审法院采取以下何种做法是正确的?
城市总体布局应考虑()方面的原则。
若甲公司自2005年起采用债务法核算所得税,则甲公司因转让对丙公司的长期股权投资而应缴纳的所得税为()万元。乙公司换入的丙公司的长期股权投资的入账价值为()万元。
以下属于货币市场子市场的有()。
SandyDuncanwashandpickedbythegeneralmanagertoheadthenextprojectbecauseof______experienceinthisfield.
Theparentsinthefamilylikesportspage.ThispassageisabouttheSundaypaper.
WhenKatherineGoldsteinwas【S1】______upinthesuburbsofWashington,D.C.,hermom,anartist,wasusuallyhomewaitingfor
最新回复
(
0
)