首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
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
2015-08-23
34
问题
N名学生的成绩已在主函数中放入。一个带头节点的链表结构中,h指向链表的头节点。请编写函数fun,它的功能是:求出平均分,由函数值返回。
例如,若学生的成绩是:85,76,69,85,91,72,64,87,则平均分应当是:78.625。
注意:部分源程序在文件PROG1.C中。
清勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include
#include
#define N 8
struct s1ist
{ doubte s;
struct s1ist *next;
};
typedef struct s1ist STREC;
double fun(STREC*h)
{
}
STREC*Creat(double*s)
{STREC*h,*p,*q; int i=0;
h=p=(STREC*)malloc(sizeof(STREC));
P->s=0;
while(i
{q=(STREC*)malloc(sizeof(STREC));
q->s=s
; i++; p->next=q;p=q;
}
p->next=0 ;
reLurn h;
}
outlist(STREC*h)
{STREC*p;
p=h->next;printf("head");
do
{printf("->%4.1f",p->s);p=p->
next;}
while(p!=0);
printf("\n\n");
}
main()
{double s[N]={85,7 6,69,85,91,72,
64,87),aVe;
void NONO();
STREC*h;
h=creat(s);outlist(h);
ave=fun(h);
printf("ave=%6.3f\n",ave);
NONO();
}
void NONO()
{/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
FILE*in,*out;
int i,j;double s[N],ave;
STREC*h;
in=fopen("in.dat","r");
out=fopen("out.dat","w");
for(i=0;i<1 0;i++){
for(j=0;j
"%lf,",&S[j]);
h=creat(s);
ave=fun(h);
fprintf(out,”%6.3lf\n”,ave);
}
fclose(in);
fc20Se(ouc);
}
选项
答案
STREC*p=h->next; /*由于头结点中没有存放数据*/ double av=0.0; /*对计算成绩平均值的变量进行初始化*/ int n=0; while(p!=NULL){/*判断链表是否结束*/ av=av+p->s; /*对成绩进行累加。/ p=p->next; /*到下一个结点位置。/ n++; /*人数加1*/ } av/=n; /*计算成绩平均值*/ return av; /*返回成绩平均值*/
解析
(1)首先定义存放平均值的变量,并对其初始化。
(2)在循环中,依次取链表中存放的成绩,并对其求和。
(3)最后计算平均值,并返回值。
转载请注明原文地址:https://kaotiyun.com/show/RHDp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有下列二叉树,对此二叉树中序遍历的结果为()。
若各选项中所用变量己正确定义,fun()函数中通过return语句返回一个函数值,下列选项中错误的程序是()。
已知一个有序线性表为(13,18,24,35,47,50,62,83,90,115,134),当用二分法查找值为90的元素时,查找成功的比较次数为()。
以下程序的输出结果是【】。#defineMCNA(m)2*m#defineMCNB(n,m)2*MCRA(n)+m#definef(x)(x*x)main(){int
有以下程序:#include<string.h>main(){charstr[][20]={"Hello","Beijing"},*p=str;printf("%d\n",strlen(p+20)
有以下程序:#include<stdio.h>main(){char*p,*q;p=(char*)malloc(sizeof(char)*20);q=p;scanf("%s%s",p,q);p
数据结构分为线性结构和非线性结构,带链的队列属于【】。
长度为n的顺序存储线性表中,当在任何位置上插入一个元素概率都相等时,插入一个元素所需移动元素的平均个数为【】。
设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号,课号,成绩),则表SC的关键字(键或码)为
已知数据表A中每个元素距其最终位置不远,为节省时间,应采用的算法是
随机试题
企业流动资金中最活跃的项目是()
下列句子中,含有使动用法的是()
某洗衣机生产企业为应对市场竞争,近年来一直以降低产品销售价格作为主要竞争策略。为了改善经营业绩,该企业拟调整竞争策略,并为此聘请一家咨询公司对当地洗衣机市场进行分析。咨询公司从委托单位得到了部分资料,见表6-6。
如果要减少项目进度计划的计算工期,可以采取的措施有()。
下图是某生态系统中的食物网简图,图中甲-庚分别代表不同的生物。问题:若此生态系统遭到重金属污染,体内积存重金属污染物最多的生物是________。
目前中国沙漠化较为严重,我国是世界上沙漠化受害最深的国家。()
设主存容量1MB,有16KB直接相联映像的Cache,假定该Cache的块为8个32位的字。解答下列问题:(1)写出Cache的地址格式;(2)写出主存的地址格式;(3)块表的容量有多大;(4)主存地址为DE8F8H的单元在Ca
A、 B、 C、 D、 A
设随机变量X与Y独立同分布,方差存在且不为零,记U=X-Y,V=X+Y,则U与V必然()
ButsomebookswouldcostmoremanIhave.ButIdidn’t______tobuysomebooks.
最新回复
(
0
)